web-dev-qa-db-ja.com

一部のUSERSロールにのみ管理バーを表示

私のワードプレスプラットフォームには4人のユーザーロールがあります(role1、role2、role3、role4)

Role1 Role2専用のフロントエンドトップバーを表示したいのですが。

どのように私はこの2つの役割だけのためにそれを示すためにこのコードに条件を加えることができますか?

function wpc_show_admin_bar() {
  return true;
}
add_filter('show_admin_bar' , 'wpc_show_admin_bar');

ありがとう

2
sampaii

あなたは機能を介して管理バーを無効にすることができます。

show_admin_bar(false);

それで、それを念頭に置いて、after_setup_themeにフックして、administratorcontributorを除くすべてのユーザーに対して管理バーを隠すことができます。

function cc_wpse_278096_disable_admin_bar() {
   if (current_user_can('administrator') || current_user_can('contributor') ) {
     // user can view admin bar
     show_admin_bar(true); // this line isn't essentially needed by default...
   } else {
     // hide admin bar
     show_admin_bar(false);
   }
}
add_action('after_setup_theme', 'cc_wpse_278096_disable_admin_bar');

例としてadministratorcontributorのみを使用しています。もちろんこれを変更してロールを追加することもできます。

2