1
我想通过自定义字段筛选搜索结果的WordPress:过滤搜索按自定义字段结果
我有一个自定义字段cp_city,我想的是,用户过滤由城市的结果,所以我增加了一个城市下拉在搜索框旁边,改变查询来改变结果,但由于某些原因,它不起作用。
这里是我试过
<?php
$city = isset($_GET['city']) ? trim($_GET['city']) : '';
$s = $_GET['s'];
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts(array('s' => $s, 'scat' => $scat, 'post_type' => 'ads', 'ignore_sticky_posts' => 1, 'meta_key' => 'cp_state', 'meta_value' => $city, 'meta_compare' => 'LIKE', 'paged' => $paged, 'orderby' => 'rand'));
?>
我也试过
function SearchFilter($query) {
if ($query->is_search) {
$query->set('meta_key','cp_state');
$query->set('meta_value','london');
}
return $query;
}
add_filter('pre_get_posts','SearchFilter');
但两者的尝试都失败了。任何人都可以找出正确的解决方案。
在你的第二个代码 - 元关键是 'cp_state' 或 'cp_city'? –
我的元键是cp_state。 –