前提
Wordpressのタクソノミーアーカイブページを作成しています。
各タクソノミーにタームを設定し、各タームをピックアップしたアーカイブページを表示したいです。
発生している問題
例えば、以下の設定を作成して各タームをタクソノミーアーカイブにピックアップすることはできたのですが、
・カスタム投稿:news ・カスタムタクソノミー:category_news ・ターム:新商品、再入荷、営業時間
次の設定で同じように作成するとタクソノミーアーカイブに全タームが一覧になって表示されてしまいました。
・カスタム投稿:movie ・カスタムタクソノミー:category_movie ・ターム:A店、B店、C店
該当のソースコード
phpのファイル名は各カスタムタクソノミーに合わせて、以下の名づけをしています。
・taxonomy-category_news.php
・taxonomy-category_movie.php
【taxonomy-category_news.php】※正常にタームがピックアップされる方 <?php $term = wp_get_object_terms($post->ID, 'category_news'); $args = array( 'post_type' => 'news', 'taxonomy' => 'category_news', 'term' => $term[0]->name, 'posts_per_page' => 10, ); $custom_query = new WP_Query($args); if ($custom_query->have_posts()) : while ($custom_query->have_posts()) : $custom_query->the_post(); ?> <article> <h2><?php echo get_the_title(); ?></h2> </article> <?php endwhile; endif; wp_reset_postdata(); ?>
【taxonomy-category_movie.php】※タームがすべて表示されてしまう方 <?php $term = wp_get_object_terms($post->ID, 'category_movie'); $args = array( 'post_type' => 'movie', 'taxonomy' => 'category_movie', 'term' => $term[0]->name, 'posts_per_page' => 10, ); $custom_query = new WP_Query($args); if ($custom_query->have_posts()) : while ($custom_query->have_posts()) : $custom_query->the_post(); ?> <article> <h2><?php echo get_the_title(); ?></h2> </article> <?php endwhile; endif; wp_reset_postdata(); ?>
試したこと
基本的にnews用で作成したファイルをコピーして作成しているので、記述はほぼ同じです。
タクソノミー名を変更したり、作り直しなどしましたが、movieばかり正常に表示されません。
(そもそもmovieという単語はよろしくないのか?)
補足情報
WordPress:バージョン 5.7.2
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。