web-dev-qa-db-fra.com

Comment masquer un metabox de plugin pour les non-administrateurs lorsqu'un utilisateur ajoute un nouveau message

J'ai pu désactiver toutes les boîtes à méta pour les non administrateurs dans leur backend mais j'ai des problèmes avec Facebook AWD Tout en un qui crée un widget vu par tous les utilisateurs quand ils créent de nouveaux messages. Comment puis-je le désactiver? Existe-t-il une sorte de commande qui convient à tout widget créé par des plugins que je peux ajouter à mon functions.php si je connais le shortcode du plugin? J'ai besoin de ton aide! Merci...

http://wordpress.org/extend/plugins/facebook-awd/

J'utilise le code suivant pour supprimer les méta-boîtes

######################################################################
# remove evreything from add a new post
######################################################################
if (is_admin()) :
function remove_post_meta_boxes() {
 if(!current_user_can('administrator')) {
  remove_meta_box('tagsdiv-post_tag', 'post', 'normal');
//remove_meta_box('categorydiv', 'post', 'normal');
  remove_meta_box('postimagediv', 'post', 'normal');
  remove_meta_box('authordiv', 'post', 'normal');
  remove_meta_box('postexcerpt', 'post', 'normal');
  remove_meta_box('trackbacksdiv', 'post', 'normal');
  remove_meta_box('commentstatusdiv', 'post', 'normal');
  remove_meta_box('postcustom', 'post', 'normal');
  remove_meta_box('commentstatusdiv', 'post', 'normal');
  remove_meta_box('commentsdiv', 'post', 'normal');
  remove_meta_box('revisionsdiv', 'post', 'normal');
  remove_meta_box('authordiv', 'post', 'normal');
  remove_meta_box('slugdiv', 'post', 'normal');
 }
}

add_action( 'admin_menu', 'remove_post_meta_boxes' );
endif;

C'est le code de la metabox
Gestionnaire Facebook AWD

    <div class="AWD_facebook_wrap">

        <h2>Like Button</h2>
            <div class="alert alert-info">
                <div class="AWD_facebook_likebutton"><div class="fb-like" data-href="http://www.dogsheaven.net/?p=703" data-send="0" data-layout="standard" data-width="250" data-show-faces="0" data-action="like" data-colorscheme="light" data-font="arial" data-ref=""></div></div>
            </div>
        <div class="row">

    <div class="span3">
        <label for="awd_fcbk_option_like_button_redefine">Redefine globals settings ?</label>
        <select id="awd_fcbk_option_like_button_redefine" name="awd_fcbk_option_like_button[redefine]" class="span3" >
        <option value="0" selected="selected" >No</option><option value="1"  >Yes</option>
        </select> 
    </div>

    <div class="span3">
        <label for="awd_fcbk_option_like_button_enabled">Activate ?</label>
        <select id="awd_fcbk_option_like_button_enabled" name="awd_fcbk_option_like_button[enabled]" class="span3" >
        <option value="0"  >No</option><option value="1" selected="selected" >Yes</option>
        </select> 
    </div>

    <div class="span3">
        <label for="awd_fcbk_option_like_button_place">Where ?</label>
        <select id="awd_fcbk_option_like_button_place" name="awd_fcbk_option_like_button[place]" class="span3" >
        <option value="top" selected="selected" >Top</option><option value="bottom"  >Bottom</option><option value="both"  >Both</option>
        </select> 
    </div>
        </div>
    </div></div>
1
user27309

Vous pouvez essayer d'ajouter cette ligne à votre exemple de code pour le filtre admin_menu:

remove_meta_box('awd_fcbk_awd_mini_form_metabox', 'post', 'side');

awd_fcbk est le plugin.

Modifier:

C'est la metabox que je cible depuis le code source du plugin:

//Like button manager on post page type
            add_meta_box($this->plugin_slug . "_awd_mini_form_metabox", __('Facebook AWD Manager', $this->ptd) . ' <img style="vertical-align:middle;" style="vertical-align:middle;" src="' . $this->plugin_url_images . 'facebook-mini.png" alt="facebook logo"/>', array(&$this, 'post_manager_content'), $type, 'side', 'core');
2
birgire