教文館の社内ナレッジベースです。

上部の管理バーのカスタマイズ。編集画面が見にくいという要望に答えてカスタマイズ。

”wp_admin_bar”の”add_menu”、”remove_menu”はwp-includesに規定されている関数。引数はメニューのスラッグ(メニューIDの wp-admin-bar-{この中})を記述。

//+++++++++++++++++++++++++++++++++++++++++
// 以下、管理画面のカスタマイズ(重要度:低)
// 管理バーの項目を非表示
function remove_admin_bar_menu( $wp_admin_bar ) {
$wp_admin_bar -> remove_menu( 'wp-logo' ); // WordPressシンボルマーク
$wp_admin_bar -> remove_menu('my-account'); // マイアカウント
$wp_admin_bar -> remove_menu( 'comments' ); // コメント
$wp_admin_bar -> remove_menu( 'postLabelName' ); // 現在の「投稿」画面の名前
$wp_admin_bar -> remove_menu( 'infoLabelName' ); // 現在の「お知らせ」画面の名前
$wp_admin_bar -> remove_menu( 'page_adminMenu' ); // bizvektorの固定ページ項目
$wp_admin_bar -> remove_menu( 'bizvektor_theme_setting' ); // bizvektorのテーマ設定項目
$wp_admin_bar -> remove_menu( 'admin_top' ); // bizvektorの管理トップ項目
$wp_admin_bar -> remove_menu( 'customize' ); // カスタマイズ項目
}
add_action( 'admin_bar_menu', 'remove_admin_bar_menu', 70 );

// admin_bar_menu関数では消えない頑固な項目をwp_before_admin_bar_render関数で元から断つ!
// ただし、吉國(IDは1)にだけは必要なので表示
function kbk_remove_admin_bar_menu() {
$user = wp_get_current_user();
if($user -> get('user_login')!="kbkadmin"){ //ログインユーザーが管理者kbkadminではない場合
global $wp_admin_bar;
$wp_admin_bar -> remove_menu( 'updates' ); // アプデ表示項目削除
$wp_admin_bar -> remove_menu( 'maintenance_options' ); // メンテナンス項目削除
$wp_admin_bar -> remove_menu( 'editGuide' ); // 編集ガイド項目の削除
$wp_admin_bar -> remove_menu( 'autoptimize' ); // autoptimize項目の削除
$wp_admin_bar -> remove_menu( 'so_live_editor' ); // ライブエディタ項目の削除
}
}
add_action('wp_before_admin_bar_render', 'kbk_remove_admin_bar_menu', 250 );

// 管理バーのヘルプメニューを非表示にする
function my_admin_head(){
echo '<style type="text/css">#contextual-help-link-wrap{display:none;}</style>';
}
add_action('admin_head', 'my_admin_head');

// 管理バー新規項目追加
function add_new_item_in_admin_bar() {
global $wp_admin_bar;
$wp_admin_bar -> add_menu(array( // 管理バーにログアウトを追加
'id' => 'new_item_in_admin_bar',
'title' => __('ログアウト'),
'href' => wp_logout_url()
));
}
add_action('wp_before_admin_bar_render', 'add_new_item_in_admin_bar', 1010 );