自分用のWordPressメモになります。
タクソノミーの記事一覧を表示させるためには、以下のファイルを作成する方法があります。
- taxonomy-[slug].php
- taxonomy.php
これらのファイルの中に書くコードの補足説明になります。
例えば、あるカスタム投稿を作って、その中にターム(カスタムタクソノミー)を作ったとします。
そのターム(カスタムタクソノミー)に属するカスタム投稿記事一覧を表示させ、さらにその投稿の数を制御したいという場合の対処法です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php $term_object = get_queried_object(); // タームオブジェクトを取得 $term_slug = $term_object->slug; // タームスラッグ $args = array( 'post_type' => 'カスタム投稿タイプ名', 'taxonomy' => 'カスタムタクソノミー名', 'term' => $term_slug, 'posts_per_page' => -1 // -1にすると全件表示 ); $custom_query = new WP_Query( $args ); ?> <ul> <?php /* Start the Loop */ if ( $custom_query->have_posts() ) : while ( $custom_query->have_posts() ) : $custom_query->the_post(); ?> <li> <h2><?php the_title(); ?></h2> </li> <?php endwhile; ?> </ul> <?php endif; ?> |
一つの記事が複数のタームに属することを想定して、現在URLで表示されているタームスラッグ・ターム名の取得をおこなっています。
1 2 |
$term_object = get_queried_object(); // タームオブジェクトを取得 $term_slug = $term_object->slug; // タームスラッグ |
この部分で、タームスラッグを取得して、これで'term'
の値を動的に変えています。
1 |
'term' => $term_slug, |
今回の依頼は、カスタムタクソノミーのアーカイブページで記事を全件表示させたいということでしたが、この表示件数を制御するのにひと苦労しました。
すぐに忘れてしまいそうだったので、メモがわりの備忘録でした。
急いで書いたので、乱筆乱文お許し下さい。海より深く反省。