大阪府堺市のWEB制作(ホームページ制作)事務所です

[WordPress]WordPressの管理画面のメニューのカスタマイズ(非表示・表示名変更)

最終更新日:2022.05.23 [月] 公開日:2017.11.18 [土] カテゴリー:WordPress 備忘

WPとっても便利ですが、慣れてないクライアントの方が初めて使う場合、左側の管理メニュー見ても「?!」ってなることもあるでしょうし、そのメニューの名称がとっつきにくいとか、そのメニュー自体を表示させない方がいいとか、ユーザー権限で表示を隠したいとか・・・まあ、WPそれなりに色々あると思います。

検索すればたくさんたくさんやり方は出てくるのですが、私なりの整理も含めて記事にします。




注意事項

環境やバージョンによって動作が変わることもあるかもしれませんので、参考にされる方は自己責任の上でご参考にしていただけます様、よろしくお願いいたします。

左側のメニューの一部を非表示にしたい

以下、記述されたものが管理画面メニューから非表示にされます。

function remove_menus () {
    global $menu;
    unset($menu[2]);  // ダッシュボード
    unset($menu[5]);  // 投稿
    unset($menu[10]); // メディア
    unset($menu[15]); // リンク
    unset($menu[20]); // ページ
    unset($menu[25]); // コメント
    unset($menu[60]); // テーマ
    unset($menu[65]); // プラグイン
    unset($menu[70]); // プロフィール
    unset($menu[75]); // ツール
    unset($menu[80]); // 設定
}
add_action('admin_menu', 'remove_menus');

例えば、ツールを非表示にしたいなら

function remove_menus () {
    global $menu;
    unset($menu[75]); // ツール}
add_action('admin_menu', 'remove_menus');

左側のメニューの一部をある権限のユーザーだけ非表示にしたい

function remove_menus () {
    if (current_user_can('level_9')) { //level9のユーザーの場合、以下のメニューをunsetする
    global $menu;
    unset($menu[75]);//ツール
    }
}
add_action('admin_menu', 'remove_menus');
function remove_menus () {
    if (!current_user_can('level_10')) { //level10以外のユーザーの場合、以下のメニューをunsetする
    global $menu;
    unset($menu[75]);//ツール
    }
}
add_action('admin_menu', 'remove_menus');

ちなみに、ユーザーのレベルは以下のようならしいです。
Codexより

  • ユーザーレベル0は購読者に変換
  • ユーザーレベル1は寄稿者に変換
  • ユーザーレベル2は投稿者に変換
  • ユーザーレベル3、4、5、6、7は編集者に変換
  • ユーザーレベル8、9、10は管理者に変換

管理画面の左側のメニューの名称を変えたい

実はこちらの要望が私の経験上一番多いです。
例えば左メニューにある「投稿」というラベルを変更する場合です。



 



function remove_menus () {
    if (!current_user_can('level_9')) { //level9以下のユーザーの場合メニューをunsetする
    global $menu;
    unset($menu[75]);//ツール
    }
}
add_action('admin_menu', 'remove_menus');






function change_post_menu_label() {
    global $menu;
    global $submenu;
    $menu[5][0] = '医院ブログ';
    $submenu['edit.php'][5][0] = 'ブログ';
    $submenu['edit.php'][10][0] ='新しいブログ';
    $submenu['edit.php'][16][0] = 'タグ';
    //echo ”;
}
function change_post_object_label() {
    global $wp_post_types;
    $labels = &$wp_post_types['post']->labels;
    $labels->name = 'ブログ';
    $labels->singular_name = 'ブログ';
    $labels->add_new = _x('追加', 'ブログ');
    $labels->add_new_item = 'ブログを新規追加';
    $labels->edit_item = 'ブログの編集';
    $labels->new_item = '新しいブログ';
    $labels->view_item = 'ブログを表示';
    $labels->search_items = 'ブログ検索';
    $labels->not_found = 'ブログが見つかりませんでした';
    $labels->not_found_in_trash = 'ゴミ箱のブログにも見つかりませんでした';
}
add_action( 'init', 'change_post_object_label' );
add_action( 'admin_menu', 'change_post_menu_label' );





5行目の
$menu[5][0] = ‘お知らせ’;
この番号は最初のunsetの記事の数字で適宜使えます。


スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA