一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

wordpress当分类列表或搜索结果只有一篇文章时直接跳转到该文章页面

时间:2015-10-04 编辑:简简单单 来源:一聚教程网

当分类列表只有一篇文章时直接跳转到该文章页面


当分类下只有一篇文章时能不能直接跳转到该文章页面,答案是可以的,方法的搜索结果是一下的,区别是把判断当前页面是搜索结果页面改为是分类列表页面即可,修改后的代码如下。

把下面的代码添加到主题的functions.php文件:


function category_jump_page() { //定义函数
 if(is_category()) { //判断是否是分类列表页面
  global $wp_query; //定义全局变量
  if ($wp_query->post_count == 1) { //判断文章数量是否是1
   wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); //如果是1则使用wordpress内置函数wp_redirect跳转
  }
 }
}
add_action('template_redirect', 'category_jump_page'); //把定义的函数使用上

如果要同时应用于搜索结果页面,可以把代码修改如下:


function category_jump_page() { //定义函数
 if(is_category() || is_search()) { //判断是否是分类列表页面或者搜索结果页面
  global $wp_query; //定义全局变量
  if ($wp_query->post_count == 1) { //判断文章数量是否是1
   wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); //如果是1则使用wordpress内置函数wp_redirect跳转
  }
 }
}
add_action('template_redirect', 'category_jump_page'); //把定义的函数使用上


搜索结果只有一个时直接跳转到结果文章页面

在使用wordpress内置搜索框搜索,当搜索的结果只有一个时,不显示搜索结果页面而直接跳转到该结果页面。这种效果的好处是搜索结果是用户需要的,可以提高用户体验;坏处是搜索结果非用户需要的,不利于用户体验。

实现代码:

function search_jump_page() { //定义函数
 if(is_search()) { //判断是否是搜索结果页面
  global $wp_query; //定义全局变量
  if ($wp_query->post_count == 1) { //判断搜索结果数量是否是1
   wp_redirect( get_permalink( $wp_query->posts['0']->ID ) ); //如果是1则使用wordpress内置函数wp_redirect跳转
  }
 }
}
add_action('template_redirect', 'search_jump_page'); //把定义的函数使用上
把以上代码添加到主题的functions.php文件即可

热门栏目