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