カスタム投稿のタクソノミーで絞り込み表示させる
投稿タイプのカテゴリじゃなくて、カスタム投稿のタクソノミー(カテゴリ)のデータを引っぱってくるにはどうしたらいいんだろう?
なかなか調べても見つけられず、やっとできたので忘備録として残しておきます。また同じようなところで困ってる人の役に立てたら嬉しいです。まずは、カスタム投稿とカスタムフィールド の設定をしてください。
※プラグインを使って、カスタム投稿と、カスタムフィールド を設定します。
①カスタム投稿タイプと、タクソノミーを、CPT UIプラグインを使って作る。
②Custom Field Suiteプラグインで、カスタムフィールドを作って、管理画面の投稿記事にテキストなど入力。
やり方はこちら→カスタム投稿をプラグインで作る
カスタム投稿の設定が終わったら、カスタム投稿一覧ページ(archive-〇〇.phpファイル)に、タームごとに出力してみます。
以下のように書き込んで出力すると、
カスタム投稿のカテゴリ(タクソノミー)の項目(ターム)ごとに表示できます。
例)ターム:まんじゅう、最中、水ようかんなど
<?php
$args = array(
'post_type' => 'product', // カスタム投稿
'order' => 'ASC', // 昇降順
'tax_query' => array(
array(
'taxonomy' => 'tagtype', // タクソノミー
'field' => 'slug',
'terms' => 'manju', // ターム
)
)
);
$the_query = new WP_Query($args);
?>
<div class="">
<?php if ($the_query->have_posts()) : ?> // 投稿記事のループ
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
<!-- 投稿内容 -->
<a href="<?php the_permalink(); ?>"> // single-○○.phpへのリンク
<div class="item-box">
<div class="item-img">
<img src="<?php echo CFS()->get('product-img'); ?>"> // cfsの画像の出力
</div>
<p><?php echo CFS()->get('product-title'); ?></p> // cfsのテキストの出力
</div>
</a>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php endif; ?> // 投稿記事のループ終わり
</div>
・’post_type’ => ‘product’, // カスタム投稿のスラッグ名を書きます。
・’taxonomy’ => ‘tagtype’, // タクソノミースラッグ名(CPT UIで作った、カテゴリスラッグ名)
・’terms’ => ‘manju’, // ターム(カスタム投稿のカテゴリで登録した、カテゴリスラッグ名)
ループはカスタム投稿の一覧ページ(archive-〇〇.php)のため、サブループを使います。
<?php $the_query = new WP_Query($args); ?>
<?php if ($the_query->have_posts()) : ?> // 投稿記事のループ
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
参考サイト↓
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query