我希望修改搜索小部件,以便在搜索结果时只返回当前类别。如果我像这样使用静态的东西,我可以让搜索工作:
function searchcategory($query) {
if ($query->is_search) {
$query->set('category_name','adams-corner');
}
return $query;
}
add_filter('pre_get_posts','searchcategory');
但是我为每只猫使用一个模板,所以它需要知道它所属的类别,我希望在模板中使用全局变量,但它似乎不起作用:
function searchcategory($query) {
if ($query->is_search) {
$query->set('category_name',$post->post_name);
}
return $query;
}
任何有关让当前类别变为动态的帮助都将非常感激。
答案 0 :(得分:0)
您可以使用查询变量获取当前类别,然后在查询中使用它。
function searchcategory($query) {
if ($query->is_search) {
$category = get_category( get_query_var( 'cat' ) );
$cat_id = $category->cat_ID;
$query->set('category',$cat_id);
}
return $query;
}