質問: new WP_Query( $args ); ?> ``` このコードの下にタイトルなどを表示させるコードを記載しています。カスタムフィールドからリンクやサムネイルを呼び出しています。 ``` have_posts()): ?> have_posts()): $myquery->the_post(); ?> "> ``` ご教示してくださる方がいらっしゃいましたら、どうかお力添えのほどお願い致します。 参考サイト:https://hirashimatakumi.com/blog/4147.html
回答: 訂正 taxonomy-brandcat.phpのテンプレートファイルを作ったのに、なぜタームごとの記事一覧が取得できないのかという事ですよね。勘違いしていました。 原因は、 (1)$argsの書き方がまず違います。 ``` $args = array( 'post_type' => $post_type_slug, // 投稿タイプの指定 $taxonomy_slug => $term_slug , // タクソノミーからタームを指定 'posts_per_page' => -1, // タームに紐づく投稿を全てを表示 ); ``` こんな書き方はどこに書いてあったのでしょうか? 関数リファレンス/WP Query を見て考えてみてください。 (2)書き方が正しくても、これでは、URLからタームごとの記事一覧は取得できません。 出来るとするならば、 ``` $taxonomy_name = get_query_var('taxonomy'); $term_var = get_query_var( 'term' ); ``` で、URLから指定されているタクソノミーとtermを受け取り、上記WP_Queryの書き方に従って書けばできます。 が、WordPressがURLから判断して、タクソノミーとタームを考慮し、データベースから自動的にデータを取ってきてくれる機能があります。なぜそれを使わないのでしょか? 普通にtaxonomy-brandcat.phpに(WP_Query()とか要らないので) ``` if( have_posts() ):while( have_posts() ):the_post(); //(略) endwhile;endif;wp_reset_postdata(); ``` を使って、表示させてみてください。 以下訂正前の文章です。 タクソノミーテンプレート にもありますが、 > > taxonomy-{taxonomy}-{term}.php > > > こういったテンプレートファイルを作れば後はメインループをまわすだけでよいかと思います。