サポート » 使い方全般 » カスタムフィールドの複数の値に合致したリストを表示したい

  • <?php if(get_post_meta($post->ID,'shoplist_store',true) == 'store01' && get_post_meta($post->ID,'shoplist_area',true) == '関東エリア'): ?>
    <?php if(have_posts()): ?>
    
    	<tr><th colspan="3" class="area"><?php echo post_custom("shoplist_area"); ?></th></tr>
    	<?php while(have_posts()): the_post(); ?>
    	<tr>
    		<th>
    			表示内容
    		</th>
    	</tr>
    	<?php endwhile; ?>
    
    <?php endif; ?>
    <?php endif; ?>

    ——————————————–

    お世話になっております。
    カスタムフィールドを作成し、
    店舗store01(セレクトボックスによる選択)
    かつ
    関東エリア(セレクトボックスによる選択)
    の値を持つ投稿の表示をするには、
    どのように記述すればよろしいでしょうか。

    見よう見まねで上記のように記述してみましたが、
    表示されませんでした。。
    どなたかご教授いただければ幸いです。
    何卒よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • if文の位置を変えてみてはどうでしょうか?

    <tr><th colspan="3" class="area"><?php echo post_custom("shoplist_area"); ?></th></tr>
    	<?php while(have_posts()): the_post();
               if(get_post_meta($post->ID,'shoplist_store',true) == 'store01' && get_post_meta($post->ID,'shoplist_area',true) == '関東エリア'):
    	<tr>
    		<th>
    			表示内容
    		</th>
    	</tr>
            <?php endif; ?>
    	<?php endwhile; ?>

    トピック投稿者 mitsu666

    (@mitsu666)

    hogetanさま

    お世話になっております。
    返信が大変遅くなりもうしわけありません!

    ‘<?php if(have_posts()): ?>
    <tr><th colspan=”3″ class=”area”>首都圏</th></tr>

    <?php
    $args = Array(
    ‘post_type’ => ‘shoplist’,
    ‘posts_per_page’ => -1,
    ‘meta_key’ => ‘shoplist_area’,
    ‘meta_value’ => ‘首都圏’,
    ‘meta_query’ => array(array(
    ‘key’ => ‘shoplist_01’,
    ‘value’ => ‘SHOP’
    ))
    );
    $the_query = new WP_Query($args);
    if($the_query -> have_posts()):
    while($the_query -> have_posts()): $the_query -> the_post();
    ?>

    表示内容

    <?php endwhile; wp_reset_postdata(); ?>
    <?php endif; wp_reset_postdata(); ?>
    <?php endif; ?>’

    あれからいろいろ試してみて、
    以上にて自己解決いたしました。
    ご教授ありがとうございます!
    今後とも何卒よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタムフィールドの複数の値に合致したリストを表示したい」には新たに返信することはできません。