カスタム投稿タイプの設定とタクソノミー(カテゴリ)とタグ設定のおさらい。サイトに別途ニュース専用の投稿タイプを追加する例。
function.phpに追記すること
/*
* カスタム投稿タイプ
*/
function create_post_type() {
$EditorStyle = [ // supports のパラメータを設定する配列(初期値だと title と editor のみ投稿画面で使える)
'title', // 記事タイトル
'editor', // 記事本文
'thumbnail', // アイキャッチ画像
'revisions' // リビジョン
];
register_post_type( 'news', // カスタム投稿名
array(
'label' => 'お知らせ', // 管理画面の左メニューに表示されるテキスト
'public' => true, // 投稿タイプをパブリックにするか否か
'has_archive' => true, // アーカイブを有効にするか否か
'menu_position' => 5, // 管理画面上でどこに配置するか今回の場合は「投稿」の下に配置
'supports' => $EditorStyle // 投稿画面でどのmoduleを使うか的な設定
)
);
}
add_action( 'init', 'create_post_type' ); // アクションに上記関数をフックします
//カテゴリ
register_taxonomy(
'news-cat', // 追加するタクソノミー名(英小文字とアンダースコアのみ)
'news', // どのカスタム投稿タイプに追加するか
array(
'label' => 'カテゴリー', // 管理画面上に表示される名前(投稿で言うカテゴリー)
'labels' => array(
'all_items' => 'カテゴリ一覧', // 投稿画面の右カラムに表示されるテキスト(投稿で言うカテゴリー一覧)
'add_new_item' => 'カテゴリの追加' // 投稿画面の右カラムに表示されるカテゴリ追加リンク
),
'hierarchical' => true // タクソノミーを階層化するか否か(子カテゴリを作れるか否か)
)
);
//タグ
register_taxonomy(
'news-tag',
'news',
array(
'hierarchical' => false,
'update_count_callback' => '_update_post_term_count',
'label' => 'タグ',
'singular_label' => 'タグ',
'public' => true,
'show_ui' => true
)
);
新たに追加した投稿タイプ「お知らせ」が有効になっていたのでとりあえずはこれでOK。 かなりブランクがありますが、しばらくWordPressをいじることになりそう。