gpt4 book ai didi

PHP:需要循环在返回的帖子之间交替

转载 作者:搜寻专家 更新时间:2023-10-31 22:11:36 25 4
gpt4 key购买 nike

我有一组通过执行三个查询返回的帖子。来自博客的 3 篇帖子,其中帖子不在“媒体”或“见解”中,3 来自帖子位于“媒体中”的博客3 来自帖子位于“见解”中的博客。

这就是我所拥有的。我认为这不是最优雅的解决方案:

<? $args = array(
'post_type' => 'post',
'posts_per_page' => 3,
'category__not_in' => array( 268, 269 )
);
$homePosts = new WP_Query($args);

$args = array(
'post_type' => 'post',
'category_name' => 'in-the-media',
'posts_per_page' => 3
);
$inthemediaPosts = new WP_Query($args);

$args = array(
'post_type' => 'post',
'category_name' => 'bt-insights',
'posts_per_page' => 3
);
$insightsPosts = new WP_Query($args);

$allqueries = array($homePosts,$inthemediaPosts,$insightsPosts);
foreach ($allqueries as $myquery) {
while ($myquery->have_posts()) : $myquery->the_post(); ?>

目前,循环遍历 3 个主页帖子,然后是 3 个 inthemedia 帖子,然后是 3 个 bt-insight 帖子。

我需要的是循环通过 1 个主页帖子、1 个 inthemedia 帖子、1 个 bt-insight 帖子,然后是 1 个主页帖子、1 个 inthemediea 帖子...等等重复。

希望这是有道理的。有什么建议吗?

最佳答案

如果你删除 allqueries 之后的内容会怎么样:

$insightsPosts = new WP_Query($args);

只需使用它即可。

for ($i = 0; $i < 3; $i++) {
if ($homePosts->post_count > $i)
echo $homePosts->posts[$i]->post_title;
if ($inthemediaPosts->post_count > $i)
echo $inthemediaPosts->posts[$i]->post_title;
if ($insightsPosts->post_count > $i)
echo $insightsPosts->posts[$i]->post_title;
}

这应该只打印出帖子的标题,您可以根据需要使用其他字段。这也可以移至函数以避免重复逻辑。

关于PHP:需要循环在返回的帖子之间交替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12290933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com