我们如何为非最终用户制作过滤器

时间:2013-03-28 作者:Adi

我开发了一个帖子过滤器,这样当任何用户访问我的网站时,他们都可以根据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 需要一个值,但我必须传递多个值才能比较并找到结果,所以我如何才能做到这一点。

2 个回复
SO网友:Miguel

我认为问题在于meta\\u查询,您需要添加其他参数,如

\'compare\' => \'=\'
您还可以使用关系。

我建议你先试试这个查询。

SO网友:Vinod Dalvi

即使只有一个查询,元查询也需要嵌套数组。您必须按如下方式将嵌套数组传递给meta\\u查询:

$args = array(
        \'posts_per_page\' => 30,
        \'paged\' => $paged, 
        \'post_type\' => \'post\', 
        \'post_status\' => \'publish\',
        \'meta_query\' => array(  array(
                        \'key\' => \'post_state\',
                        \'value\' => array($citynames )
                              )
                        ) 
        );
有关更多信息,请参阅this page.

结束

相关推荐

Filter and Search

我正在我的网站上工作,这是一个基于WordPress的网站。这是一个winprizesonline的抽奖网站。com是我最受启发的网站。现在,我想在我的网站上进行类似该网站的动态搜索,但我不知道如何以及在何处添加代码。就像这里;http://www.winprizesonline.com/new/contests/ 您可以看到3个搜索框,排序方式:,条目:,下一条:我想要相同的搜索框,具有相同的过滤和搜索功能。任何人都知道它的代码,可以告诉我在我的网站上放在哪里。我正在为我的网站使用DirectoryPr