【发布时间】:2019-06-03 15:39:52
【问题描述】:
我需要 WP_Query 方面的帮助。我使用 OR 和 AND 关系使用元查询参数,但查询结果中似乎忽略了此参数。
这是我的代码:
$args = array(
'orderby' => 'date',
'order' => 'DESC',
'post_type' => 'my_custome_post_type',
'posts_per_page' => 1,
'meta_query' => array(
'relation' => 'OR',
array(
'relation' => 'AND',
array( 'author' => $contact_id ),
array( 'meta_key' => 'my_meta', 'meta_value' => $user_id )
),
array(
'relation' => 'AND',
array( 'author' => $user_id ),
array( 'meta_key' => 'my_meta', 'meta_value' => $contact_id )
)
)
);
$query = new \WP_Query( $args );
$response = $query->posts;
我已经尝试按照here 中的建议添加此参数:
'suppress_filters' => false,
'is_your_custom_query' => true, // your custom flag
即使我将查询中的$user_id 和$contact_id 的值直接替换为任意数字,查询仍然返回相同的结果。我不明白为什么它不起作用。
【问题讨论】:
-
您能否详细说明您想要实现的目标以及您目前获得的结果。这将有助于理解场景。
-
我想获得帖子中的最后一个帖子:1) 与
$user_id相同的作者 ID 并且 post_meta 'meta_value' 等于$contact_id2) 或相同的作者 ID比$contact_id和 post_meta 'meta_value' 等于$user_id -
逻辑对我来说看起来不错..您是否尝试修复输入错误,'my_custom_post_type" new \WP_Query 或任何其他(如果存在)??
-
我认为将
meta_key更改为key并将meta_value更改为value很简单。这也让我绊倒了几次。基本上,当对 meta_query 使用数组语法时,您删除meta_前缀
标签: wordpress arguments meta-query