WordPress管理画面のアドミンバーから不要な項目を非表示にする

お客さんに提供するときにできるだけ、不要な項目を省くときに「functions.php」に以下の記載をするとアドミンバーがスッキリします。

add_action( 'wp_before_admin_bar_render', 'c_delete_wp_before_admin_bar_render' , 99);
function c_delete_wp_before_admin_bar_render() {
    global $wp_admin_bar;
    if( current_user_can( 'editor' ) ){ // ← 権限 今回は、編集者の際に非表示にします。
      //↓↓↓以下の項目が非表示になります。
      $wp_admin_bar->remove_menu('wp-logo'); // wordpressロゴ
      $wp_admin_bar->remove_menu('site-name'); // ホームページ名
      $wp_admin_bar->remove_menu('updates'); // 更新ボタン
      $wp_admin_bar->remove_menu('comments'); // コメントボタン
      $wp_admin_bar->remove_menu('new-content'); // 新規ボタン
      $wp_admin_bar->remove_menu('edit'); // 固定ページを編集
      $wp_admin_bar->remove_menu('my-account'); // アドミンバー右側のアカウント
      $wp_admin_bar->remove_menu('user-info');  // アドミンバー右側のアカウントのドロップダウンにあるプロフィール
      $wp_admin_bar->remove_menu('edit-profile');  // アドミンバー右側のアカウントのドロップダウンにあるプロフィールを編集

      //↓↓↓プラグインで表示されるものも項目名を調べると非表示にできます。
      $wp_admin_bar->remove_menu('veu_disable_admin_edit'); //プラグイン
    }
}

僕の環境だと問題ないですが、環境によっては、非表示にならないかもです。
また、他にもいい方法があれば、共有します。

この記事を書いた人

田島佑清

Web Engineer at @mediaac_inc. / 高知暮らし / 1児の父