Wordpress查询以多个元值作为条件

时间:2011-07-13 01:04:59

标签: php wordpress wordpress-plugin

首次使用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 );

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

阅读WordPress Codex for WP_Query上的自定义字段参数部分。

问题是你在每个循环上重建整个$data数组。这会将无效参数传递给WP_Query。所以我想你会得到不确定的结果。

您只是想直接设置meta_value或指定与您所描述的meta_query子句类似的IN参数。

答案 1 :(得分:1)

以下是答案:

$args = array(

    'meta_query' => array(
    array(
        'key' => 'tag',
        'value' => $tags,
        'compare' => 'IN'
        ) 
    ),

    'orderby' => 'post_date'    

);