我的 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' => '='
),
),
);
这不起作用,你从根本上误解了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