wordpress 默认主题下的搜索是这样的
当输入框为空的时候跳转到 home页 或index.php
一般这不是 良好的用户体验
现在我们可以这样在 点击按钮时添加 如下的验证
<script type="text/javascript" src="<?php echo get_stylesheet_directory_uri(); ?>/js/jquery.validate.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#searchform").validate({
errorPlacement: function(error, element) {
error.appendTo( element.parent() );
}});
})
</script>
<form class="mt10" method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<label for="s" class="assistive-text b bl f16 mr5"><?php _e( 'Search', 'encoaching' ); ?></label>
<input class="required field" name="s" id="s" placeholder="<?php esc_attr_e( 'Search', 'encoaching' ); ?>" />
<input type="submit" class="submit" name="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'encoaching' ); ?>" />
</form>
另外 search默认搜索的是所有资源
如果要排除某些特定的页面 不进入搜索行列可以加一些filter
加入下面的filter 可以排除不搜索 page 只搜索post的内容
//exlude pages from search function
function mySearchFilter($query) {
if ($query->is_search) {
$query->set('post_type', 'post');
}
return $query;
}
add_filter('pre_get_posts','mySearchFilter');