gpt4 book ai didi

php - 从一个类别中的两种帖子格式查询帖子

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

我一直在阅读 WP_Query Codex寻找一种方法来遍历给定类别中具有帖子格式“视频”或“图像”的所有帖子。

如果这还不够,这个类别由变量 $catslug 给出(我需要这样)。

我只找到了循环以下其中一项的方法

  • 图片或视频

  • 图片和类别

  • 视频和类别,

但我需要的更复杂,像这样:

post-format-image AND $catslug) 或 (post-format-video AND $catslug )

是否可以在 tax_query 中执行 tax_query

像这样:

$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'OR',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array($catslug)
),
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-image' )
)
),
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => array($catslug)
),
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array( 'post-format-video' )
)
)
)
);
$query = new WP_Query( $args );

任何人都知道任何解决方法或破解方法吗?也许我只是想错了方向。

最佳答案

这其实是个好问题。这里的简单答案是您不能使用多个 tax_query

这让我在上类前快速测试了以下场景。只是为了好玩,我尝试通过 tax_query 使用类别参数,但这给了我所需类别的帖子和也属于两种帖子格式的帖子

我想出了一个可能的解决方案,不幸的是我现在无法测试它。

这是我的台词:

由于您需要随机结果,我建议您将帖子格式添加到数组中

$post_format_array = array( 'post-format-video', 'post-format-image' );

您现在将使用 shuffle打乱数组,然后从该数组中取出第一个条目,这将是图像的视频,并在您的 tax_query 中使用它。

shuffle( $post_format_array );    

这样您将获得您想要的类别中的帖子,并且可以是视频或图片帖子格式。

$args = array(
'post_type' => 'post',
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $catslug,
),
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => $post_format_array[0]
),
),
);
$query = new WP_Query( $args );

关于php - 从一个类别中的两种帖子格式查询帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26331261/

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