この実装、面倒なら代行します
カスタム投稿タイプがいくつかあって、それらすべての同一タームの記事を取得する方法のご紹介です。
たとえば、サイト運営者が映像制作会社で
・movie
・cm
・animation
という事業カテゴリ(カスタム投稿タイプ)があって、それぞれが
・movie_cat
・cm_cat
・animation_cat
というカスタム分類を持ち、
・result(日本向けコンテンツ)
・result_for_foreign(外国向けコンテンツ)
というカテゴリ(ターム)があるとします。
このとき、movie、cm、animationすべてのresult(日本向けコンテンツ)を取得したい場合、
$result_post_type = 'any'; $the_query = new WP_Query( array( 'post_status' => 'publish', 'post_type' => $result_post_type, 'posts_per_page' => -1, //全件取得 'tax_query' => array( 'relation' => 'OR', array( 'taxonomy' => 'movie_cat', 'field' => 'slug', 'terms' => 'result' ), array( 'taxonomy' => 'cm_cat', 'field' => 'slug', 'terms' => 'result' ), array( 'taxonomy' => 'animation_cat', 'field' => 'slug', 'terms' => 'result' ), ), 'orderby' => 'date' ) );
このように、’tax_query’ をつかって複数のタクソノミー(カスタム分類)を ‘relation’ の条件で取得することができます。
あとは通常通りwhileで繰り返せば完成です。
if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); //なんかの処理 endwhile; endif; wp_reset_query();
事業カテゴリとか関係なく、とにかく日本向けの新作情報を出したい、というときに使えます。
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。