这个问题已经问了很多遍了, 但是我找不到解决方案。我的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;
?>
【WP带有限制条件的foreach循环】这段代码< ?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’ , ), )));
根据要求编辑答案
推荐阅读
- WP列表未按预期水平显示
- prometheus+grafana监控nginx
- 挑战全网最全的idea快捷键与选项卡中文翻译
- prometheus+grafana监控linux
- hystrix熔断与降级
- prometheus+grafana简介与linux下的安装
- 使用yapi工具编辑接口文档
- prometheus+grafana监控rabbitmq
- Linux修改时间 修改时区 | Linux时间校准 #yyds干货盘点#