欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

wordpress搜索 不能为空 验证 &只搜索post

程序员文章站 2022-04-29 23:42:57
...

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');
 
相关标签: wordpres php wp