2020/10/09 2020/10/09
仕事でWordpressを触ってる中で、顧客向け管理画面についてはWordpressの管理画面デザインから必要なメニューのみに絞るよう変える予定です。
メニューバーについてはadmin_menuフックに対するremove_menu_pageファンクションでサクサク掃除ができたのですが、アドミンバーが結構難儀でした。
まず、
add_action('admin_bar_menu', function ($wp_admin_bar) {
$wp_admin_bar->remove_menu( 'wp-logo' ); // WPロゴ削除
$wp_admin_bar->remove_menu( 'my-account' ); // こんにちは、xxxさん削除
});
てな感じで書いてみたのですが、my-accountは消えどもwp-logoが消えない…
調べたら、
add_action('admin_bar_menu', function ($wp_admin_bar) {
$wp_admin_bar->remove_menu( 'wp-logo' ); // WPロゴ削除
$wp_admin_bar->remove_menu( 'my-account' ); // こんにちは、xxxさん削除
}, 999);
という感じで適用優先順位を落としてあげないとダメだったということが判明。
なんだか複雑だなぁ…と思いつつ、本題になります。
アドミンバーにいるこいつ。というか追加したのですが、WP Fastest Cacheですね。
これの消し方(名前)が分からない…。
あちこち調べてみたのですが、言及してくれてるサイトは無さそうでした。
まぁ、とはいえ他のメニューと動き方は同じだろうと、ブラウザのインスペクタツールでタグのclass名かid名にそれっぽい名前が無いかなーと探してみたところ、
がそれっぽい名前のようでした。
なので早速、以下のような感じで書いてみました。
add_action('admin_bar_menu', function ($wp_admin_bar) {
// WP Fastest Cache
$wp_admin_bar->remove_menu( 'wpfc-toolbar-parent' );
// Clear All Cache
$wp_admin_bar->remove_menu( 'wpfc-toolbar-parent-delete-cache' );
// Delete Cache and Minified CSS/JS
$wp_admin_bar->remove_menu( 'wpfc-toolbar-parent-delete-cache-and-minified' );
}, 999);
結果はダメ。消えません。
うーん、なんだろうなぁと思いつつ調査を続行したところ、アドミンバーに対するremove_menuをadmin_bar_menuフックではない、別フックでやられている方を発見。
試してみたところバッチリ消えました!
以下のようになります。
add_action('wp_before_admin_bar_render', function () {
global $wp_admin_bar;
// WP Fastest Cache
$wp_admin_bar->remove_menu( 'wpfc-toolbar-parent' );
// Clear All Cache
$wp_admin_bar->remove_menu( 'wpfc-toolbar-parent-delete-cache' );
// Delete Cache and Minified CSS/JS
$wp_admin_bar->remove_menu( 'wpfc-toolbar-parent-delete-cache-and-minified' );
}, 999);
wp_before_admin_bar_renderフックを使うようです。
WP Fastest Cacheのメニュー登録タイミングがadmin_bar_menuフック発動時よりも遅いので更新されなかったようです。
一つ勉強になりました…
関連記事はありません。
コメントとトラックバック
コメントはありません