前提
カスタムフィールドを用いて、「数値」の条件分岐を行う方法
お世話になります。以下の条件に基づいたコンテンツをループ処理で出力する方法を模索しております。
WordPressのカスタムフィールドプラグイン「Advanced Custom Fields PRO」を導入しています。
前提
・カスタム投稿タイプを作成し、その中でブログ記事を30 ~ 40件ほど作成しています。
・アーカイブページにスライドショーを配置し、その中でピックアップした記事をスライドショーで流すような仕様となっています。
実現したいこと
実装したいループ条件
・カスタムフィールドの「数値」の値が「0」であるならその記事はスライドショーに表示しない
・カスタムフィールドの「数値」の値が「1以上」であるなら、その記事はスライドショーに表示する、
数値の値が「2」「3」などの場合、スライドショー内のブログ記事を表示する順番も2番目、3番目と、カスタムフィールドの数値を変えるだけで、表示する順番を指定出来るような仕組みとしたい。
カスタムフィールドの管理画面は上記のようなものになります。デフォルトでは「0」なので、数値を上げていくことで、上記条件に基づくものを出力するという算段です。
該当のソースコード
「check-num」というのは今回の「数値のカスタムフィールド」に該当するキーになります。
html
1 <!-- スライドショーエリア --> 2 <div class="swiper-container"> 3 <div class="swiper"> 4 <div class="swiper-wrapper"> 5 <?php $args = array( 6 'numberposts' => -1, // 表示する記事の数 7 'post_type' => 'blog', // カスタム投稿のタイプ名 8 'meta_query' => [ 9 [ 10 'key' => 'check-num', 11 'value' => '1', 12 'compare' => '=' 13 ] 14 ], 15 ); 16 $customPosts = get_posts($args); 17 if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post ); 18 ?> 19 <div class="swiper-slide"> 20 <a href="<?php the_permalink(); ?>"> 21 <div class="boxslider_item_image"> 22 <?php 23 if ( has_post_thumbnail() ) { 24 the_post_thumbnail(); 25 } 26 ?> 27 </div> 28 29 <?php if ( get_field('catchphrase') ): ?> 30 <h1 class="boxslider_item_title"> 31 <?php the_field('catchphrase'); ?> 32 </h1> 33 <?php endif;?> 34 35 <p class="boxslider_item_caption"> 36 <?php the_title(); ?> 37 </p> 38 </a> 39 </div> 40 <?php endforeach; ?> 41 <?php endif; wp_reset_postdata(); //クエリのリセット ?> 42 </div> 43 </div> 44 45 <div class="swiper-button-prev"></div> 46 <div class="swiper-button-next"></div> 47 </div> 48 <!-- スライドショーエリア --> 49
試したこと
'value' => '1',の値を!0のように書き換えてみたが、エラーとなり、画面自体が表示されなくなったので中止。
補足情報(FW/ツールのバージョンなど)
スライドショーに関しては「swiper」プラグインを使用しています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。