WordPressのカスタム投稿記事一覧の表示方法と一覧のターム指定(カテゴリー指定)について紹介していきます。これからWordpressのテンプレートカスタマイズや編集を始めてされる方は、その仕組みについて知って頂ければと思います
カスタム投稿記事一覧を表示する方法
カスタム投稿一覧を表示する方法は、ブログ記事一覧を表示する方法とほぼ同じです。
念の為にブログ記事一覧の表示方法を確認したい方は下記ページを確認してください。
それではどこが違うのか、カスタム投稿記事一覧を表示する方法とターム指定する方法のソースを見て確認していきたいと思います。
<?php
$args = array(
'post_type' => 'カスタム投稿スラッグ', // 投稿タイプを指定
'tax_query' => array(
array(
'taxonomy' => 'タクソノミースラッグ', //タクソノミーを指定
'field' => 'slug', //タームをスラッグで指定する
'terms' => 'タームスラッグ', //表示したいタームをスラッグで指定
'operator' => 'IN'
),
),
'posts_per_page' => 10, // 表示件数
'orderby' => 'date', // 表示順の基準 投稿日(date)更新日(modified)など
'order' => 'DESC', // 昇順(ASC)・降順(DESC)
'paged' => $paged // ページネーションを使用する上で重要
);
$wp_query = new WP_Query( $args );
if ( $wp_query->have_posts()){
while ( $wp_query->have_posts()){ $wp_query->the_post();
// ここに記事一覧として表示する物を記述します。
}
}else{
}
//リセット
wp_reset_postdata();
?>
まずカスタム投稿記事一覧の表示方法ですが、3行目をカスタム投稿のスラッグ名を指定するだけです。ブログ投稿一覧の場合にはpostになっていたところですが、そこを変更するだけで良いのです。
次にタームの指定(カテゴリー指定)ですが、4行目~11行目となります。
ブログ記事一覧の場合には、categoryやcategory_nameで指定していましたが、カスタム投稿の場合にはtax_queryに対して配列で指定していきます。
まずは6行目でタームを作成しているタクソノミーを指定します。
次にタームをスラッグで指定することを、7行目で決めます。そして8行目で指定したいターム(カテゴリー)を指定できるのです。
■ターム(カテゴリー)を複数指定したい場合
'terms' => array('タームスラッグA','タームスラッグB'),
6行目の指定部分で新たにarray配列を作り、その配列内でカンマ区切りで指定していきます。
■タクソノミーを複数指定したい場合
'tax_query' => array (
'relation' => 'AND', //タクソノミー同士の関係を指定(AND・OR)
array (
'taxonomy' => 'タクソノミースラッグA',
'field' => 'slug',
'terms' => 'スラッグ名',
'operator' => 'IN'
),
array (
'taxonomy' => 'タクソノミースラッグB',
'field' => 'slug',
'terms' => array ( 'タームスラッグ名A', 'タームスラッグ名B' ),
'operator' => 'IN'
)
)
ブログ記事一覧のカテゴリー指定よりは記述が複雑となりますが、まずは仕組みを理解していくことから憶えてください。
まとめ
WordPressのカスタム投稿記事一覧の表示方法と一覧のターム指定(カテゴリー指定)の方法について紹介してきました。カスタム投稿を導入することによって、Wordpressでできることが大きく広がるので、これからテンプレートなどを編集される方や、オリジナルのデザインを適用される方は是非参考にしていただければと思います。