web-dev-qa-db-fra.com

Masquer les "Paramètres de la galerie" et le bouton "Insérer dans la publication" de la fenêtre Pièce jointe

J'utilise différentes méthodes pour créer une galerie dans Wordpress. Je voudrais donc masquer une option permettant d'insérer des images et des galeries dans des publications pour tous les utilisateurs, à l'exception de l'administrateur.

Est-ce que quelqu'un peut me montrer un exemple comment c'est fait?

2
Kovas

Si vous souhaitez réellement le supprimer au lieu de le cacher, vous pouvez supprimer le script 'admin-gallery' utilisé pour insérer le formulaire de configuration de la galerie. Et si vous vouliez le supprimer uniquement pour les non-administrateurs, alors quelque chose comme ceci devrait fonctionner:

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

Pour supprimer des éléments dans l'éditeur de média, vous pouvez les désélectionner . Je ne l'ai pas testé pour le bouton Insérer, mais vous pouvez l'essayer. Placez cette fonction dans le fichier functions.php de votre thème.

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

Ou avec CSS, pour les deux éléments que vous citez:

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>';
    }

}
1
mike23

Eh bien, je n'ai pas trouvé comment le nommer unset, alors j'utilise mon ancienne méthode:

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