好的,请大家帮帮我。我无法弄清楚为什么它不起作用。 因此,我有一个自定义字段-显示帖子等级(例如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));
}
我在做什么错了?