企業サイトをWordPressで構築する際、デフォルトの「投稿」という表記に違和感を覚えたことはありませんか?
ブログ機能として使うならまだしも、お知らせやプレスリリースとして運用する場合、クライアントからこんな要望が出ることが多々あります。
結論から言うと、functions.phpにコードを追記するだけで変更可能です。プラグインを入れるまでもない「サクッと」終わる修正ですが、納品時のクオリティ(=クライアントの満足度)をグッと高める重要なポイント。
今回は、管理画面のメニュー名から、新規追加画面のラベルまでを一括で「任意の名前」に変更するコードを紹介します。
functions.phpに追記して標準の「投稿」ラベルを任意の名称へ一括置換する
通常、WordPress管理画面の左サイドバーには「投稿」と表示されています。これを「ニュース」に変更する場合、以下のコードをご利用中のテーマの functions.php に記述してください。
※編集前には必ずバックアップを取りましょう。記述ミスは画面が真っ白になる原因です。
コピペ用コード(2025年対応版)
以下のコードは、変数 $name の中身を変えるだけで、「ニュース」「実績」「活動報告」など好きな名前に一括置換できるように調整しています。|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
// 標準の「投稿」ラベルを任意の名称に変更する function change_post_menu_label() { global $menu; global $submenu; $name = 'ニュース'; // ★ここを変更したい名称にする // 管理画面左メニューの書き換え $menu[5][0] = $name; $submenu['edit.php'][5][0] = $name . '一覧'; $submenu['edit.php'][10][0] = '新しい' . $name; $submenu['edit.php'][16][0] = 'タグ'; } function change_post_object_label() { global $wp_post_types; $name = 'ニュース'; // ★ここを変更したい名称にする $labels = &$wp_post_types['post']->labels; // 各種ラベルの書き換え $labels->name = $name; $labels->singular_name = $name; $labels->add_new = _x('追加', $name); $labels->add_new_item = $name . 'の新規追加'; $labels->edit_item = $name . 'の編集'; $labels->new_item = '新規' . $name; $labels->view_item = $name . 'を表示'; $labels->search_items = $name . 'を検索'; $labels->not_found = $name . 'が見つかりませんでした'; $labels->not_found_in_trash = 'ゴミ箱に' . $name . 'は見つかりませんでした'; } // アクションフックへの登録 add_action( 'init', 'change_post_object_label' ); add_action( 'admin_menu', 'change_post_menu_label' ); |
実装後の変化を確認する
コードを保存して管理画面をリロードすると、左メニューの「投稿」が「ニュース」に早変わりしているはず。メニュー名だけでなく、「ニュースを検索」「ニュースの新規追加」といったボタンやメッセージ周りもすべて変更されます。これにより、WordPressに不慣れな担当者でも迷わず更新作業に入れるようになるでしょう。
なぜプラグインではなくコードで書くのか?
「Admin Menu Editor」などのプラグインでも同様のことは可能です。しかし、単なる名称変更だけのためにプラグインを増やすのは、サイトの表示速度や保守性の観点からあまりおすすめできません。特に我々のようなプロの制作現場では、「不要な依存関係を減らす」のが鉄則。functions.phpへの記述なら、テーマの管理下でコントロールでき、将来的なWordPressのアップデートによる影響も最小限に抑えられます。


コメント