以多个元值作为条件的 WordPress 查询
第一次使用 WordPress 查询,所以不知道如何处理这个问题。我想获取meta_key 为“tag”、meta_values 为“A、B、C”的帖子标题。类似于sql查询的IN()函数。我应该怎样做才能达到这个目的?
到目前为止,这是我的代码,但它不起作用,因为它忽略了条件。
//$tags consists of my meta_value ( A, B, and C)
foreach ($tags as $input) {
$data[] = array( 'meta_key' => 'tag', 'meta_value' => $input, 'orderby' => 'post_date' );
}
$query = new WP_Query( $data );
预先感谢您的帮助。
First time using wordpress query so not sure how to handle this problem. I want to get post titles where meta_key is 'tag' and meta_values are 'A, B, C'. Something similar to IN() function of sql query. How should I do to achieve that?
This is my code so far but it is not working as it ignores condition.
//$tags consists of my meta_value ( A, B, and C)
foreach ($tags as $input) {
$data[] = array( 'meta_key' => 'tag', 'meta_value' => $input, 'orderby' => 'post_date' );
}
$query = new WP_Query( $data );
Thanks in advance for your kind help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请阅读 WP_Query 的 WordPress Codex 上的自定义字段参数部分。
问题是您在每个循环上重建整个
$data
数组。这会将无效参数传递给 WP_Query。所以我想你会得到不确定的结果。您只需直接设置
meta_value
或指定一个meta_query
参数,类似于您所描述的IN
子句。Read the Custom Field Parameters section on the WordPress Codex for WP_Query.
The problem is you are rebuilding your entire
$data
array on each loop. This passes invalid parameters to WP_Query. So I imagine your getting undefined results.You simply want to set
meta_value
directly or specify ameta_query
parameter similar to theIN
clause you described.答案如下
:);
Here is the answer:
);