wordpressの特定のカスタムフィールドの値を持った特定のカスタム投稿タイプの記事一覧を表示する方法

wordpressで特定のカスタムフィールドの値を持った記事一覧を表示したいときに使える方法です。
カスタム投稿タイプを使っている場合も指定できます。

下記のコードをテンプレートに入力してください。

例)固定ページにカスタム投稿タイプ(ニュース記事、タイプ名「news」)のカスタムフィールド「ニュースの種類」に”幸せ”の値を持ったものを一覧で表示したいとき

<ul class="e_list01">
<?php $c_value = get_post_meta($post->ID, 種類, true); ?> //変数$c_valueに現在のページのカスタムフィールド「種類」の値を入れます。

<?php 
 $args = array(
 'post_type' => array('news'), //一覧表示したいカスタム投稿タイプのスラッグを入れます
 'showposts' => 10,
 'meta_query' => array(
			array(
				'key' => '種類', //変数$c_valueに入れたカスタムフィールドの値と一致するカスタムフィールドを入れます。
				'value' => $c_value ,
				'compare'=>'LIKE'))
 );
 
$my_query = new WP_Query($args);
if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); //一致するカスタム投稿がある場合にループ開始。下記のリストが表示されます。
?>
 
<li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
 
<?php endwhile; endif; wp_reset_postdata(); ?>
</ul>

コメントを残す

メールアドレスが公開されることはありません。