WordPress:带有page_id和meta_query的WP_Query

时间:2017-07-11 16:03:06

标签: wordpress

我遇到了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' => '='
    ),

),

);

1 个答案:

答案 0 :(得分:1)

这不起作用你从根本上误解 WP_Query 。如果您使用page_id参数,则会自动将结果限制为一个帖子。标识为1208的帖子。如果该帖子是 post_type page ,则只会检索此帖子。

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