我的网站中有私人页面,因此我使用此过滤器隐藏了一些页面,
function mySearchFilter($query) {
if ($query->is_search) {
$excludeId = get_option(\'page_for_posts\');
$query->set(\'post__not_in\', array(\'267\',\'287\'));
}
return $query;
}
add_filter(\'pre_get_posts\',\'mySearchFilter\');
它工作得很好,但如果我单击“空搜索”,则意味着它会显示一些默认页面。。如何限制空搜索?
我试过这个,但它对我不起作用。
add_filter( \'request\', \'my_request_filter\' );
function my_request_filter( $query_vars ) {
if( isset( $_GET[\'s\'] ) && empty( $_GET[\'s\'] ) ) {
$query_vars[\'s\'] = " ";
}
return $query_vars;
}
这是我的搜索表
<form method="get" id="searchform" action="<?php bloginfo(\'url\'); ?>/">
<div>
<input type="text" class="search_text" name="s" id="s" value="<?php echo trim( get_search_query() ); ?>" />
<!--<input type="text" class="search_text" value="<?php the_search_query(); ?>" name="s" id="s" />-->
<input type="submit" id="searchsubmit" class="search_btn" value="" />
</div>
</form>