个性化阅读
专注于IT技术分析

WP带有限制条件的foreach循环

这个问题已经问了很多遍了, 但是我找不到解决方案。我的PHP知识非常有限。

我正在建立一个wordpress网站, 那里有一个称为”系列”的自定义分类法。该网站将有许多系列, 我正在使用自定义字段对系列进行分组。因此, 很容易将前端的系列活动分组组织。

因此, 这里显示”系列”的代码(https://pastiebin.com/5b445ae944a13):

<?php $x = 0; foreach ( $new_mod_series as $cat ): ?>

   <?php $seriestype = get_field( "series_type", $cat ); ?>

   <?php while ( $seriestype == "interview" and $cat_post->have_posts() ): $cat_post->the_post(); ?>

      Show interview series...

   <?php endwhile; ?>

<?php if (++$x == 5) break; endforeach; ?>

这段代码<?php $ seriestype = get_field(” series_type”, $ cat); ?>不要在foreach循环之外运行, 这样我就可以获取”系列类型”自定义字段的值。然后, 我在同时使用$ seriestype ==” interview”来显示仅接受采访的系列。

现在我并没有获得预期或5个foreach结果, 因为仅限制了要显示的”采访”系列。但是我需要在一个部分中展示5个最近的采访系列, 然后在另一个系列中展示其他5个系列。

反正有解决我的问题的方法吗?以我有限的php知识, 我尝试了很多, 但是找不到任何解决方案。希望我能够正确解释。

谢谢朱拉什


#1


为什么不通过自定义字段查询?这样你就不会有两次相同的查询(即使现在也只能使用一次)。有关你的问题, 请参阅此处的acf文档https://www.advancedcustomfields.com/resources/query-posts-custom-fields/

简而言之:

新的WP_Query(array(‘post_type’=>’post’, ‘tax_query’=> array(array(‘taxonomy’=>’series’, ‘field’=>’term_id’, ‘terms’=> $ cat-> term_id, )), ‘posts_per_page’=> 1, ‘ignore_sticky_posts’=> 1, ‘meta_query’=> array(array(‘key’=>’series_type’, ‘value’=> $ mod_series, ‘compare’=> ‘IN’, ), )));

根据要求编辑答案

赞(0)
未经允许不得转载:srcmini » WP带有限制条件的foreach循环

评论 抢沙发

评论前必须登录!