SWELLの投稿リストブロックでカスタム投稿タイプのカテゴリーを表示させるには、たった1行のコード追加が必要です。
目次
問題
SWELLの投稿リストブロックで「カテゴリー表示位置」を設定しても、カスタム投稿タイプではカテゴリーが表示されない。
原因
SWELLの「カテゴリー表示位置」は内部で get_the_category()
を呼び出しているため、カスタム投稿タイプ(CPT)が標準の category
タクソノミーを利用していない場合は何も表示されない。
解決方法
カスタム投稿タイプの定義に 'taxonomies' => array( 'category' )
の1行を追加するだけです。
function register_nijisousaku_ya_post_type() {
$args = array(
'public' => true,
'supports' => array( 'title', 'editor', 'thumbnail' ),
'taxonomies' => array( 'category' ), // ← この1行を追加
);
register_post_type( 'nijisousaku_ya', $args );
}
add_action( 'init', 'register_nijisousaku_ya_post_type' );
手順
- WordPress管理画面 → 「外観」→「テーマファイルエディター」を開く
※ 子テーマを使っている場合は子テーマを選択する functions.php
にあるカスタム投稿タイプ登録コードへ移動し、'taxonomies' => array( 'category' ),
を1行追加して保存- 記事投稿時にカテゴリーを選択し、SWELLの投稿リストブロックで
「カテゴリー表示位置」をONにして表示を確認