WordPress:带有 page_id 和元查询的 WP_Query

问题描述 投票:0回答:1

我的 WP_Query 有问题:

我需要获取带有自定义元键的自定义帖子类型列表

scuola_data_approved=1  OR post_id=1208

我尝试操作以下查询,但找不到有效的解决方案:

$args = array
(
'post_type'  => 'scuole', 
'posts_per_page' => -1,
'relation' => 'OR',
'page_id'=>1208,
'meta_query' => array
( 
    'relation' => 'OR',
    array(
       'key'     => 'scuola_data_approved',
       'value'   => '1',
       'compare' => '='
    ),

),

);
php wordpress
1个回答
1
投票

这不起作用,你从根本上误解了WP_Query。如果您使用

page_id
参数,您将自动将结果限制为一篇文章。 ID为
1208
的帖子。并且只有当该帖子属于 post_type 页面时才会被检索。

WP_Query 没有像

'relation' => 'OR'
这样的东西 - 这只能在元和税务查询中实现。除非您想要查询至少两个不同的方面,否则它是无用的。

为了检索您在问题中描述的所有帖子,请执行以下操作:

$args1 = array
(
'post_type'  => 'scuole', 
'posts_per_page' => -1,
'meta_query' => array
( 
    array(
       'key'     => 'scuola_data_approved',
       'value'   => 1,
       'type'    => 'numeric',
       'compare' => '='
    )
)
);

$all_posts_i_need = array_merge(get_posts($args1),array(get_post(1208));

更多信息请参见:https://codex.wordpress.org/Class_Reference/WP_Query

© www.soinside.com 2019 - 2024. All rights reserved.