我试图将合并和查询的职位。但条件的输出不正确。
条件一:检查所有类别中的所有帖子,使用Meta_key滑块。
条件二:查询所有category id = 32378的帖子,不管Meta_key是否存在。
// Query 1
$args1 = array(
'showposts' => theme_options('count_slider'),
'meta_key' => 'slider',
'meta_value' => true,
);
// Query 2
$args2 = array(
'showposts' => 5,
'cat' => 32378,
);
// Combine the results
$combined_args = array_merge($args1, $args2);
$the_query = new WP_Query($combined_args);
字符串
我不知道为什么这段代码只显示所有的文章与Meta_key '滑块'(在只是类别32378).
我试图将合并和查询的职位。但条件的输出不正确。
我想要一个这样的结果:在类别ID 32378的所有职位,即。无论Meta_key存在与否+所有类别中的所有职位,有meta_key '滑块'与overal 7后的限制。
2条答案
按热度按时间au9on6nz1#
字符串
yhived7q2#
简单地用array_merge合并两个参数数组所使用的逻辑并不像预期的那样工作。在WordPress查询中,你不能仅仅以这种方式组合合并条件。发生的情况是第二个数组覆盖了第一个数组的值,而不是创建一个逻辑OR条件。
您尝试实现的是一个更复杂的查询,无法直接使用标准WP_Query完成。相反,您需要使用自定义SQL查询或执行两个单独的查询并将结果合并合并。
下面是如何执行两个单独查询并将结果合并合并的示例:
字符串
请注意,这种方法不是最佳的,特别是如果你有很多文章,因为它会给数据库带来更多的负载。此外,如果文章同时满足两个条件,它们可能会出现两次。解决方案是检查文章ID并删除重复的文章。
如果性能是一个问题,自定义SQL查询将是更有效的途径,但这更复杂,需要深入了解WordPress的数据库结构。