通过自定义字段订购WP帖子并搜索查询

时间:2019-01-30 20:56:52

标签: php wordpress advanced-custom-fields

好的,请大家帮帮我。我无法弄清楚为什么它不起作用。 因此,我有一个自定义字段-显示帖子等级(例如2.5或5.0等)的'reitings'。在每个帖子中我都提到了一些城市。我要完成的工作是创建一个表单过滤器,该过滤器允许用户按城市名称选择帖子并按等级(asc,desc)排序。 因此,在我的侧边栏中借助php小部件,我显示了如下形式的代码:

<form class="filter" action="" method="get">
        <div>
            <label for="s"></label><br/>
            <select name="s" id="s">              
<option value="City1">City1</option>
<option value="City2">City2</option>
<option value="City3">City3</option>
<option value="City4">City4</option>                
            </select>
            <select name="order-post">
                <option value="ASC">ASC</option>
                <option value="DESC">DESC</option>
            </select>
	<button type="submit">Filtr</button>
        </div>
    </form>

在模板index.php中,我在循环前添加以下代码:

  if ($_GET && !empty($_GET)) { 
    go_filter(); 
} 

然后在function.php中添加以下代码:

function go_filter() { 
$args = array();  
$args['meta_query'] = array('relation' => 'AND'); 
global $wp_query; 

if ($_GET['order-post'] != '') { 
    $args['meta_query'][] = array( 
        'key' => 'reitings', 
        'orderby' => 'meta_value',      
        'order' => $_GET['order-post'],
        'type' => 'numeric' 
        );
}

if ($_GET['s'] != '') { 
    $args['s'] = $_GET['s']; 
}

query_posts(array_merge($args,$wp_query->query)); 
}

我在做什么错了?

0 个答案:

没有答案