我仍然在学习wordpress,并试图用sql查询帖子,准确地说,事情是在尝试了不同的可能方法后,发现我不能嵌套带有关系的数组,我不知道下一个可能的方法是不是直接进行WP_Query查询。
为了更好地解释我想要做的事情,希望下一个数组能有所帮助:
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'Meta_geo',
'value' => '46',
'compare' => '=',
),
array(
'key' => 'Meta_dest',
'value' => 'si',
'compare' => '=',
),
array(
'relation' => 'OR',
array(
array(
'key' => 'Meta_1',
'value' => '10',
'compare' => '<=',
),
array(
'key' => 'Meta_1',
'value' => '30',
'compare' => '>=',
)
),
array(
'relation' => 'OR',
array(
'key' => 'Meta_1',
'value' => '',
'compare' => '=',
),
array(
'key' => 'Meta_1',
'value' => '',
'compare' => '=',
)
)
)
),非常感谢您抽出时间,如果有专家能给我一点提示,我将不胜感激。
对不起,我的英语不好。
发布于 2014-09-10 22:02:15
基于你所拥有的,下面是你能得到的最接近的结果...
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'Meta_geo',
'value' => '46',
'compare' => '=',
),
array(
'key' => 'Meta_dest',
'value' => 'si',
'compare' => '=',
),
array(
'key' => 'Meta_1',
'value' => array('10','11','12' etc),
'compare' => 'IN',
),
)然而,这会给你留下一些需要整理的东西。这可以通过循环来完成,正如您通常使用循环显示查询结果一样,您可以使用该循环。
例如:
while ( $my_query->have_posts() ) : $my_query->the_post();
$metavalue = get_post_meta($post->ID, 'meta_geo', true);
$metavalue = get_post_meta($post->ID, 'meta_dist', true);// if there are a lot of conds, use get_post_meta($post->ID) to return object of value arrays
if($metavalue == 46 && ): //proceed
//html here!
endif;
endwhile;https://stackoverflow.com/questions/25766419
复制相似问题