2

I'm using different method to form a gallery in Wordpress, so I would like to hide an option to insert images and galleries into post for anyone but Administrator.

Can someone show me an example how it's done?

3 Answers 3

1

If you actually wanted to remove it instead of just hiding it you could remove the 'admin-gallery' script that is used to insert the gallery settings form. And if you wanted it to be remove only for non-admins then something like this should work:

function disable_wp_gallery()
{
    if( !current_user_can('manage_options') )
        wp_deregister_script('admin-gallery');
}
add_action('admin_enqueue_scripts', 'disable_wp_gallery');
1

To remove elements in the media editor, you can unset them. I haven't tested it for the insert button, but you can try this. Put this function in the functions.php file of your theme.

function remove_media_editor_fields($fields) {
  unset($fields['submit']);
  return $fields;
}
add_filter('attachment_fields_to_edit','remove_media_editor_fields');

Or with CSS, for both elements you cite :

function add_custom_admin_styles() {

    if( !current_user_can('administrator') ){
        echo '
        <style type="text/css">
            #media-items #savesend .button{display:none!important;}
                 #gallery-settings{display:none!important;}
        </style>';
    }

}
2
  • It doesn't work and even if it did, I believe it would remove all buttons (thumbnail and delete). As for Gallery Options, that's what I did, but I thought there's better way to do it :)
    – Kovas
    Jun 12, 2011 at 20:00
  • I uptaded the example with a CSS fix to hide the insert button only, and the gallery settings, sorry I don't know any other way than add CSS to hide those elements.
    – mike23
    Jun 12, 2011 at 23:06
0

Well, I couldn't find how to unset it, so I'm using my old method:

function auto_media() {
    echo '<style type="text/css">
        #media-items .savesend input.button, #gallery-settings * {display:none;}
    </style>';
}
add_action('admin_head', 'auto_media');

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.