カスタム投稿タイプの名前を変更する
カスタム投稿の名前を変更したい場合パラメータ$labels
配列の'name'
の値を変更します。下記のサンプルだと管理画面上の出力結果はNewsとなります。
add_action( 'init', 'register_post_type_news' );
function register_post_type_news(){
$labels = [
'name' => 'News',
];
$args = [
'labels' => $labels,
'public' => true,
'show_in_rest' => true,
];
register_post_type('news', $args);
}
補足として$labels
を使わなくてもカスタム投稿の名前は表示されますが、デフォルトの状態だと【投稿】と表示されます。
また下記のように省略した記述も可能。
add_action( 'init', 'register_post_type_news' );
function register_post_type_news(){
register_post_type(
'news',
[
'labels' => [
'name' => 'News',
],
'public' => true,
'has_archive' => true,
'show_in_rest' => true,
]
);
}
カスタム投稿のパラメータ名を変更する場合の注意点
カスタム投稿のパラメータ名を変更する場合は注意が必要でregister_post_type('news', $args);
の'news'
の値を変更すると今まで登録していたデータと紐づきできなくなるので論理削除されます。
なので過去のカスタム投稿のデータをエクスポートして新しい名前のカスタム投稿にインポートするかデータベース上で変更する必要がありますので忘れずに。