现在的位置:首页>wordpress>正文

WordPress搜索结果或标签只有一篇文章时自动跳转到该文章

2016年07月06日 ⁄ 共 1430字 暂无评论

说起wordpress的搜索,相信很多朋友都会吐槽一下,这里我们需要体谅一下,毕竟人家并不是专业做搜索的,所以很多时候,我们使用内置的搜索时,往往结果有点强差人意,所以部落一直都使用了两个搜索,另外一个百度的站内搜索,今天要说的是搜索结果或标签只有一篇文章时自动跳转到该文章的实现方法.

这也是为了进一步提高用户体验了,当然,如里您觉得没有必要去用的话,也可不用.

WordPress内置搜索结果只有一篇文章时自动跳转到该文章

当你的读者在你的WordPress博客的内置的搜索引擎搜索时候,返回的结果是按照时间先后的陈列格式。如果搜索结果只有一篇文章的时候,为提高用户体验,我们可以让着唯一的一个搜索结果自动跳转到该文章.

实现方法如下:

将下面的代码添加到您的当前主题的funtions.php 文件的最后一个 ?> 前:

  1. //搜索结果自动跳转 www.mfbuluo.com
  2. add_action('template_redirect', 'redirect_single_post');
  3. function redirect_single_post() {
  4.     if (is_search()) {
  5.         global $wp_query;
  6.         if ($wp_query->post_count == 1) {
  7.             wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
  8.         }
  9.     }
  10. }

保存就可以了,接下来您可以去试一下.

WordPress 标签对应只有一篇文章时自动跳转到该文章

这个和前面的差不多,将下面的代码添加到您的当前主题的funtions.php 文件的最后一个 ?> 前:

  1. add_action('template_redirect', 'tag_redirect_single_post');
  2. function tag_redirect_single_post() {
  3.     if (is_tag()) {
  4.         global $wp_query;
  5.         if ($wp_query->post_count == 1) {
  6.             wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
  7.         }
  8.     }
  9. }

当然,也可以将上面的两段代码合并一下:

  1. //搜索结果与标签自动跳转 www.mfbuluo.com   
  2. add_action('template_redirect', 'redirect_single_post');   
  3. function redirect_single_post() {   
  4. if (is_tag() || is_search()) {   
  5.         global $wp_query;   
  6.         if ($wp_query->post_count == 1) {   
  7.             wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );   
  8.         }   
  9.     }  

小结

不过老实话,如果您还一直在使用内置搜索的话,建议您换一下.

部落目前自己没有使用这个功能,原因很简单,我的大多数标签和搜索结果都不止一个页面,主要是里面都作了相关文章的延伸阅读.

给我留言