WordPress特集 - カスタム投稿・カスタム分類の登録
公開日:2021年11月6日
最終更新日:2021年11月10日
コンテンツの種類が多い場合は、カスタム投稿タイプを新規に作成して割り当てます。また分類が必要なカスタム投稿で、既存のカテゴリーで対応できない場合は、カスタム分類(カスタムタクソノミー)もセットで作成します。
【記事執筆時の環境】
WordPress 5.8
functions.phpにコードを記述してカスタム投稿タイプを登録
【参考ページ】
Code Reference | register_post_type
functions.php に関数 register_post_type を使ってコードを記述します。
以下は「製品情報(products)」というコンテンツをカスタム投稿タイプで登録するコード例です。第1引数にカスタム投稿タイプの名前を指定し、第2引数に詳細設定を配列で指定します。
なお、コード内で設定しない値は初期値が使われます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
register_post_type( 'products', array( 'label' => '製品情報', 'labels' => array ('all_items' => '製品情報一覧'), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'hierarchical' => false, 'rewrite' => true, 'query_var' => false, 'has_archive' => true, 'exclude_from_search' => false, 'menu_position' => 5, 'supports' => array('title','editor','revisions','page-attributes','thumbnail','excerpt'), 'taxonomies' => array('productclass'), 'show_in_rest' => true ) ); |
functions.phpにコードを記述してカスタム分類を登録
【参考ページ】
Code Reference | register_taxonomy
functions.php に関数 register_taxonomy を使ってコードを記述します。
以下は「製品カテゴリー(productclass)」という分類をカスタム分類で登録するコード例です。第1引数にカスタム分類の名前を指定し、第2引数に関連付ける投稿タイプを指定します。第3引数には詳細設定を配列で指定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
register_taxonomy( 'productclass', 'products', array( 'label' => '製品カテゴリー', 'labels' => array('all_items' => 'すべてのカテゴリー'), 'show_ui' => true, 'hierarchical' => true, 'query_var' => true, 'rewrite' => array('slug' => 'products'), 'show_in_rest' => true ) ); |
プラグインを利用して登録
カスタム投稿タイプとカスタム分類を管理画面から登録できるプラグインもあります。
有名なのは「Custom Post Type UI」で、必要な項目を入力するだけで簡単に登録できます。
【投稿タイプの追加画面】
【タクソノミーの追加画面】
カスタム分類のタームを追加
カスタム分類は登録しただけでは、どのような項目で分類するか決まっていません。通常のカテゴリーは「未分類」という項目がデフォルトで用意されていますが、カスタム分類ではそれさえもありません。
分類する項目を「ターム」と呼びますが、そのタームを追加します。
カスタム分類を関連付けた投稿タイプのサブメニューとして追加・編集画面へのリンクが表示されますので、その画面に移動してタームを追加します。
【タームの追加画面】
【注意!】
WordPressには予約語というものがあり、カスタム投稿タイプ名、カスタム分類名、ターム名に予約語を使ってしまうと思わぬエラーが発生することがあります。下記ページで予約語をチェックし重複しないようにしましょう。
«次の特集記事» ウィジェットエリアの登録
«前の特集記事» タグの追加
スポンサーリンク