我开发了一个帖子过滤器,这样当任何用户访问我的网站时,他们都可以根据cities/state
.因此,当我存储帖子时,我只将城市名称存储为post-meta
在站点中标记。我用于添加post-meta
标记为
add_post_meta($post_id, \'post_state\' , $state, true);
下面是以复选框形式生成城市名称的html
for(x in state_arr){
jQuery(\'#state_div\').append(\'<label><input type="checkbox" name="stateName[\'+ state_arr[x] +\']" id="" value="\'+ state_arr[x] +\'" >\' + state_arr[x] + \'</label\');
}
所以我把名字传给
array
.
我用于过滤器的代码在这里
<?php
if ( \'POST\' == $_SERVER[\'REQUEST_METHOD\'] && !empty( $_POST[\'action\'] ) && $_POST[\'action\'] == \'sortbydestination\' ) :
$stateName = $_POST[\'stateName\'];
foreach($stateName as $key => $stN)
{
$citynames = $stN . ",";
}
unset($_POST);
endif;
?>
我传递给查询的参数如下所示
$args = array(
\'posts_per_page\' => 30,
\'paged\' => $paged,
\'post_type\' => \'post\',
\'post_status\' => \'publish\',
\'meta_query\' => array(
\'key\' => \'post_state\',
\'value\' => array($citynames )
)
);
我想知道一件事。我在这里查询
value
需要一个值,但我必须传递多个值才能比较并找到结果,所以我如何才能做到这一点。