前提・実現したいこと
WORDPRESSにカスタム投稿タイプ「location」を配置し、
中に「店舗(タクソノミー名:store)」という分類を設け、それぞれに「nagoya」「tokyo」といった地域名でスラッグを設定しました。
このスラッグを利用し、各店舗ごとの詳細ページやアーカイブページに対して
特定のHTMLソースを追加したいのですが、
どのようにheader.phpに記載してよいかわかりません。
発生している問題・エラーメッセージ
カスタム投稿タイプの個別ページ・アーカイブページに対して、 上記分類に応じた内容を表示したいが、なにも表示できない状態
該当のソースコード
function.php
add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'location', [ // 投稿タイプ名の定義 'labels' => [ 'name' => '店舗ブログ', // 管理画面上で表示する投稿タイプ名 'singular_name' => 'location', // カスタム投稿の識別名 ], 'public' => true, // 投稿タイプをpublicにするか 'has_archive' => true, // アーカイブ機能ON/OFF 'menu_position' => 5, // 管理画面上での配置場所 'supports' => array( 'title', 'editor', 'thumbnail', 'revisions', 'excerpt', 'custom-fields', ), 'rewrite' => array('slug' => 'location', 'with_front' => false), 'show_in_rest' => true, // 5系から出てきた新エディタ「Gutenberg」を有効にする ]); //カテゴリを投稿と共通設定にする // register_taxonomy_for_object_type('info-cat', 'infopage'); // //タグを投稿と共通設定にする // register_taxonomy_for_object_type('post_tag', 'infopage'); } // // カスタム分類(カスタムタクソノミー) // function add_taxonomy() { //店舗 register_taxonomy( 'store', 'location', array( 'label' => '店舗', 'singular_label' => '店舗', 'labels' => array( 'all_items' => '店舗一覧', 'add_new_item' => '店舗を追加' ), 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => true, 'hierarchical' => true ) ); //カテゴリー register_taxonomy( 'location_cat', 'location', array( 'label' => 'カテゴリー', 'singular_label' => 'カテゴリー', 'labels' => array( 'all_items' => 'カテゴリー一覧', 'add_new_item' => 'カテゴリーを追加' ), 'public' => true, 'show_ui' => true, 'show_in_nav_menus' => true, 'hierarchical' => true ) ); } add_action( 'init', 'add_taxonomy' );
header.php
<?php if (get_post_type() === 'location' && is_single('')): ?> 「特定のHTMLソース」 <?php endif; ?>
これで詳細ページ全てに表示できるのはわかったのですが、
個別の店舗ごとにソースを分ける必要があり、
is_singleに上記のスラッグ名を入れたところ条件外となってしまいます。
また、各店舗ごとのアーカイブページについては方法が全くわかっていない状態です。
よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー