サポート » 使い方全般 » 管理バーの「新規」だけ非表示にできない

  • 解決済 hikonyan0127

    (@hikonyan0127)


    お世話になっております。

    wordpressの管理画面の上の黒い管理バーから「+新規」を非表示にしようと
    下記コードを書きましたが、なぜか消えません。
    (他の「WPロゴ」や「コメント」、「プロフィール編集」などは消えています)

    // 管理バーの項目を非表示
    function remove_admin_bar_menu( $wp_admin_bar ) {
       $wp_admin_bar->remove_node('wp-logo'); // Wpロゴ
       $wp_admin_bar->remove_node('comments'); // コメント
       $wp_admin_bar->remove_node('new-content'); // 新規投稿ボタン
    /* 管理バー右の部分 */
       $wp_admin_bar->remove_node('edit-profile'); // プロフィール編集
       $wp_admin_bar->remove_node('user-info'); // ユーザー
     }
    add_action( 'admin_bar_menu', 'remove_admin_bar_menu', 70 );

    原因がわからず、困っています…。
    お分かりの方がいらっしゃれば、お知恵をお借りできればと思います。
    よろしくお願いいたします。m(_ _)m

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター gatespace

    (@gatespace)

    ※「【重要】 お読みください」には投稿しないでください。「使い方全般」に移動します。

    Tsuyoshi.

    (@andante0727)

    hikonyan0127さん、こんにちは。
    以下のコードでどうでしょうか?

    add_action( 'wp_before_admin_bar_render', 'my_wp_before_admin_bar_render' );
    function my_wp_before_admin_bar_render() {
    	global $wp_admin_bar;
    	$wp_admin_bar->remove_menu( 'new-content' );
    	$wp_admin_bar->remove_node('wp-logo');
    	$wp_admin_bar->remove_node('comments');
    	$wp_admin_bar->remove_node('edit-profile');
    	$wp_admin_bar->remove_node('user-info');
    }

    取り敢えず困ったら

    echo "<pre>";
    var_dump($wp_admin_bar);
    echo "</pre>";

    とかで対象のNodeがあるかどうか確認することも大事です。

    スレッド開始 hikonyan0127

    (@hikonyan0127)

    gatespaceさん、申し訳ありません。慌てて投稿場所を間違えてしまいました。。
    そして移動ありがとうございます!

    Tsuyoshi.さん、
    早速コードを変更したところ、うまくいきました。
    ありがとうございました!

    Tsuyoshi.

    (@andante0727)

    補足ですが「新規」の部分は、WordPressコアのwp-includes/class-wp-admin-bar.phpで
    add_action( 'admin_bar_menu', 'wp_admin_bar_new_content_menu', 70 );
    となっていたので

    add_action( 'admin_bar_menu', 'remove_admin_bar_menu', 70 );
    となっていた部分を

    add_action( 'admin_bar_menu', 'remove_admin_bar_menu', 99 );
    と実行順序を変更すれば以下のコードでも動きます。

    // 管理バーの項目を非表示
    function remove_admin_bar_menu( $wp_admin_bar ) {
       $wp_admin_bar->remove_node('wp-logo'); // Wpロゴ
       $wp_admin_bar->remove_node('comments'); // コメント
       $wp_admin_bar->remove_node('new-content'); // 新規投稿ボタン
    /* 管理バー右の部分 */
       $wp_admin_bar->remove_node('edit-profile'); // プロフィール編集
       $wp_admin_bar->remove_node('user-info'); // ユーザー
     }
    add_action( 'admin_bar_menu', 'remove_admin_bar_menu', 99 );
4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「管理バーの「新規」だけ非表示にできない」には新たに返信することはできません。