最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
WordPress搜索功能的二次升级
时间:2022-06-25 19:01:19 编辑:袖梨 来源:一聚教程网
最近我伸爪向制作主题去了,所以最近可能弄很多关于Wordpress主题开发的文章
o(?□?)o
太多原创是指望不上了
在搜索标题中显示标题数
默认的搜索结果中是不会显示结果文章数的。可能对一些人来说会需要这个结果数,要在搜索结果中显示文章数,很简单,你只需要编辑search.php
找到
| 代码如下 | 复制代码 | 
| 
 
 Search Results替换为 
/* Search Count */ 
 | 
	  |
关于搜索结果中显示数目的demo,可以看看本博客的搜索页面。虽然不一样但基本上差不多。。。
在搜索列表文章标题中高亮搜索文本
高亮搜索文文能够使搜索者准确的看到想要知道的内容。。。
SO,依然编辑search.php,找到你的文章输出loop
| 代码如下 | 复制代码 | 
| 
 
 替换为 
 然后在你的css中加入下面的样式 
  | 
	  |
当搜索结果只有一篇时直接重定向到该文章
这个我记得奶嘴还是谁写过来着。。。
用下面的方法可以很方便的实现当搜索结果只有一篇时直接重定向到该文章,编辑你的functions.php并加入以下代码
| 代码如下 | 复制代码 | 
| add_action('template_redirect', 'redirect_single_post'); function redirect_single_post() { if (is_search()) { global $wp_query; if ($wp_query->post_count == 1) { wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); } } }  | 
	  |
demo可以看水煮鱼的博客,他那个就是自动跳转的
更改Wordpress搜索结果每页显示文章数
WordPress默认的搜索结果是每页显示十篇文章,如果你想更改的话,只需要把下面的代码加到functions.php中并修改数量。
| 代码如下 | 复制代码 | 
| 
 function limit_posts_per_search_page() { if ( is_search() ) set_query_var('posts_per_archive_page', 20); } add_filter('pre_get_posts', 'limit_posts_per_search_page');  | 
	  |
搜索结果限制文章格式
如果你的主题支持多种文章格式并且你想在搜索结果中只输出一种格式,你只需要把下面的代码放到functions.php,并修改你想要显示的文章格式名称
| 代码如下 | 复制代码 | 
| function SearchFilter($query) { if ($query->is_search) { // 输入你想要显示的文章格式 $query->set('post_type', 'feeds'); } return $query; } add_filter('pre_get_posts','SearchFilter');  | 
	  |
只搜索指定分类
做到这个很简单,只需要修改下面代码的分类ID号并加入到search.php中
| 代码如下 | 复制代码 | 
| 
 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts("s=$s&paged=$paged&cat=1,2,3");//cat的值就是分类的ID endif; ?>  | 
	  |
查看分类的id号的方法可以移步《[技巧]查看页面/媒体的ID》
完全禁用搜索功能
虽然搜索是个很有用的功能,但是有时候强迫症的你就是想禁用它,那么你只需要把下面的代码放到functions.php中
| 代码如下 | 复制代码 | 
| function fb_filter_query( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; // to error if ( $error == true ) $query->is_404 = true; } } add_action( 'parse_query', 'fb_filter_query' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) );  | 
	  |
在一页中显示所有搜索结果
前面已经提到,默认搜索结果每页显示10篇,如果你想让结果在一页里显示,只需要编辑search.php,找到下面的代码
| 代码如下 | 复制代码 | 
| 
 
 
  | 
	  |
继续闷头苦干
相关文章
- 炉石传说基尔加丹轮盘术卡组推荐分享 11-04
 - 炉石传说宇宙彩虹DK高胜率卡组推荐分享 11-04
 - 炉石传说深暗领域德鲁伊卡组推荐分享 11-04
 - 过山车之星2景观评分提升方法分享 11-04
 - 过山车之星2景点声望提升方法分享 11-04
 - 炉石传说快攻混搭牧卡组推荐分享 11-04