「スーパー管理者」ではないユーザーに対して「スーパー管理者」と表示されている上部のフィルターを削除したいと思います。どうやってこれをやるの?
このスクリーンショットは私が話していることを示しています:
管理画面の上部にあるこのフィルタのリストは、ビューと呼ばれます。 views_{$this->screen->id}
フィルタを使用してビューを管理できます。 {$this->screen->id}
を管理したいスクリーンの名前に置き換えます。
Users
スクリーンをフィルタリングするために、以下を試すことができます。
// filter the 'users' views
add_filter( "views_users", "wse57231_filter_user_views");
function wse57231_filter_user_views($views){
// This assumes the key for the role is 'super_admin'
// Is the current user not a "super_admin"?
if( !current_user_can('super_admin')){
// Remove the super_admin view from the list of views
unset($views['super_admin']);
}
return $views;
}
参考文献:* https://developer.wordpress.org/reference/hooks/views_this-screen-id/ * http://codex.wordpress.org/Function_Reference/current_user_can
注:コメントによると、Super Admin
は作成したカスタムロールです。 Super AdminはWordPress Multisiteを使用する際の特別な役割の名前でもあるため、これは部分的に混乱を招きます