WordPressで投稿を追加する時に、register_post_type関数の第二引数で指定するlabelsの各値が管理画面(ブラウザ)上でどの項目を指しているかについて。
なお、カスタム投稿タイプの作成方法については以下ご参考。
(参考)新しく投稿を追加する方法(カスタム投稿タイプの作成方法)
デフォルトで対応させてみる
実際のデフォルトの「投稿」の内容を変更する時は、labelsとは別の指定方法になるが、各項目の場所が分かりやすいので、labelsの各値と対応させてみる。
なお、投稿メニューの中に「カテゴリー」と「タグ」があるが、これはタクソノミー(taxonomy)というもので、labelsの内容とは別で設定する項目となる。
(参考)タクソノミーとタームとは?カテゴリやタグとの違いを解説
labelsの各内容と対応させると以下のようになる。
現在見えている範囲では(1)menu_name, (2)all_items, (3)all_new, (4)nameの4項目が表示されている。
新しカスタム投稿タイプでこれらを設定しない場合は、デフォルトと全く同じ内容になる。
また、(4)のnameのみを設定すれば、(1)~(3)にはnameが適用される。
実例
カスタム投稿タイプとして、「ニュース」を新た追加する。
書き方の詳細については新しく投稿を追加する方法(カスタム投稿タイプの作成方法)を参照。
function add_news() {
$name = "ニュース";
$labels = [
'name' => $name,
'manu_name' => $name,
'all_items' => $name . '一覧',
'add_new' => $name . '追加',
'singular_name' => $name,
'not_found' => $name . 'は見つかりませんでした'
];
$args = [
'labels' => $labels,
'public' => true, // 投稿タイプをpublicにするか
'has_archive' => true, // アーカイブ機能ON/OFF
'menu_position' => 5, // 管理画面上での配置場所
'show_in_rest' => true, // 新エディタ「Gutenberg」を有効にする
];
register_post_type( 'news', $args );
}
add_action( 'init', 'add_news' );
管理画面をリロードすると、「投稿」の下に新たに「ニュース」が追加される。
各項目がfunctions.phpで設定した内容になっている。
また、functions.phpの$labelsに「’not_found’ => ‘ニュースは見つかりませんでした’」を追記すると以下のように変更できる。
labelsの設定項目一覧
labelsには他にも設定項目が複数存在する。
推奨 | 項目 | 内容 | デフォルト値 |
★ | name | メインの表示名(labelを上書きする) | 投稿 |
☆ | singular_name | メインの表示名の単数形 | _x( ‘Post Tag’, ‘taxonomy singular name’ ) |
☆ | menu_name | メニュー内での表示名 | name |
☆ | all_items | 一覧の表示名 | name |
☆ | edit_item | 編集画面のタイトル | 投稿を編集 |
☆ | new_item | 新規作成画面のタイトル | 新規投稿を追加 |
view_item | 表示画面のタイトル | 投稿を表示 | |
search_items | 検索ボタンの表示名 | 投稿を検索 | |
not_found | 投稿がない時の表示名 | 投稿が見つかりませんでした。 | |
not_found_in_trash | ゴミ箱に投稿がない時の表示名 | ゴミ箱内に投稿が見つかりませんでした。 | |
parent_item_colon | 親の投稿表示名 | 親投稿: |
私感として変更するべき項目が★、変更した方がいい項目が☆(操作上それほど影響がない)。
項目が多くて分かりづらいが、メインの項目のみであれば4つほど指定すれば管理画面上で他の投稿との区別がつくようになる。