カスタムポストタイプに対するカテゴリの作り方

カスタムポストタイプを作ったら、追加でそのカスタムポストタイプに対するカテゴリを以下のように作れます。

initフックでカスタムポストタイプを登録した後に、続きで追記します。


add_action( 'init', 'create_post_type' );
function create_post_type() {
    // カスタムポストタイプを作る
    // → 関数リファレンス
    register_post_type( 'event',
        array(
            'labels' => array(
                'name' => 'イベント情報',
                'singular_name' => 'event'
            ),
            'supports' => array( 'title', 'editor', 'thumbnail' ),
            'public' => true,
            'has_archive' => true,
        )
    );
    // アイキャッチ画像使用など、機能の有効化
    // → 関数リファレンス
    add_theme_support('post-thumbnails');

    // カスタムポストタイプに対するカテゴリ設定
    // → 関数リファレンス
    register_taxonomy(
        'event_cat',
        'event',
        array(
            'hierarchical' => true,
            'label' => 'イベント情報のカテゴリー',
            'singular_label' => 'イベント情報のカテゴリー',
            'public' => true,
            'show_ui' => true
        )
    );
}

上の「イベント情報」「event」と書いている個所は、目的に応じて変更します。

管理画面ではサイドメニューに現れます。

カスタム投稿タイプに対するカテゴリ@サイドメニュー

表示側では、パーマリンク設定を数字ベースなど普通の設定にしていれば、以下のようになります。

・一覧 /archives/ポストタイプ名
・個別ページ /archives/ポストタイプ名/スラッグ
・イベントページ /archives/タクソノミー名(上の例では event_cat)/カテゴリ名

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です