我为前端搜索创建了一个自定义筛选工具,其中还包括一个特定的用户组。
将函数添加到我使用的搜索中
add_filter(\'pre_get_posts\',\'my_filter_the_search\',10,1);
function my_filter_the_search($query){
$post_type = filter_input(INPUT_GET, \'post_type\', FILTER_SANITIZE_STRING);
if($post_type == \'document\'):
add_filter( \'posts_search\', \'__search_by_title_only\', 500, 2 );
//Get array of slugs of checked terms
$terms = (array) $_GET[\'post_type\'];
//Tax_query array
$tax_query = array(array(
\'taxonomy\' => \'access\',
\'terms\' => \'basic-user\',
\'field\' => \'slug\',
));
//Tell the query to filter by tax
$query->set(\'tax_query\', $tax_query);
return $query;
endif;
}
这似乎影响了后端中自定义帖子类型的列表。
如何仅在网站前端使用此功能?
最合适的回答,由SO网友:Bainternet 整理而成
仅当函数不是后端时才钩住它。
if( !is_admin() ){
add_filter(\'pre_get_posts\',\'my_filter_the_search\',10,1);
}