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

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

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

把下面的代码添加到主题的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文件即可

时间: 2024-09-14 04:53:16

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

WordPress实现搜索结果只有一篇文章时自动跳转到文章

当读者通过WordPress自身的搜索功能来搜索文章时,如果返回的结果只有一篇文章,我们可以直接让它跳转到这篇文章,提高用户体验. 实现的方法很简单,只需要在你主题的 functions.php 文件中添加下面的代码:  代码如下 复制代码 add_action('template_redirect', 'redirect_single_post'); function redirect_single_post() {     if (is_search()) {         global

详解WordPress中分类函数wp_list_categories的使用_php技巧

wp_list_categories 函数是 WordPress 中用来罗列系统中分类的函数,该函数拥有许多控制输出的参数,今天突然被一个朋友问到,所以就大概整理了一下. 因为 WordPress 中内置扩展的小工具功能, 所以我们不经任何函数就可以在边栏或是其他我们想要的位置显示一个分类列表, 所以wp_list_categories函数就很少有人用到, 该函数使用起来有点类似于wp_list_bookmarks, wp_list_categories 描述wp_list_categories

Jquery+Ajax+PHP+MySQL实现分类列表管理(上)_jquery

在实际应用中,我们要管理一个客户分类,实现对客户分类的增加.删除和修改等操作,如何让这些操作变得更人性化,让用户操作起来更加方便成了我们必须研究的课题.   准备阶段 您需要具备HTML和Jquery等前端知识,以及基本的PHP程序和MySql数据库相关知识.要实现本文中的DEMO示例,首先需要一个mysql数据库: CREATE TABLE `catalist` ( `cid` int(11) NOT NULL auto_increment, `title` varchar(100) NOT

php通过分类列表产生分类树数组的方法_php技巧

本文实例讲述了php通过分类列表产生分类树数组的方法.分享给大家供大家参考.具体分析如下: 这里$list 为分类列表数组,键为分类 ID,值为分类节点对象,pid 为父分类 ID php代码如下: $tree = array(); foreach ($list as $id => $row) { $pid = $row->pid; if ($pid == 0) { $tree[] = &$list[$id]; } else if (isset($list[$pid])) { $par

php通过分类列表产生分类树数组的方法

  这篇文章主要介绍了php通过分类列表产生分类树数组的方法,涉及php操作数组与分类节点的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了php通过分类列表产生分类树数组的方法.分享给大家供大家参考.具体分析如下: 这里$list 为分类列表数组,键为分类 ID,值为分类节点对象,pid 为父分类 ID php代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 $tree = array(); foreach ($list as $id => $row) { $

WordPress集成多种站内搜索、百度嵌入式搜索,并伪静态化的方法

分享前,先吐槽一下:最近阿里云爆出了云盾误删除ECS文件,最后只能用回滚来解决的坑爹玩意儿.刚听到这个消息后,连忙看了下自己的ECS,没发现有明显的异常. 这2天慢慢的发现近期修改的一些代码都被还原了,比如明明去掉了评论审核后的通知功能,今天一个朋友QQ告诉我收到的邮件中的文章地址不对,我看了网友的截图,就知道是评论的审核通知邮件.看了下代码,果然之前的注释都去掉了.又比如,我明明屏蔽了某插件的某个菜单,结果今天又看到了. 看来多少还是有所波及,确实是回滚了!还好,最近没怎么折腾代码,否则都白费

分享几个zblogPHP调用文章分类列表的方法

zblog php调用包含子分类文章的分类列表文章 做zblog php版本的CMS企业模板,通过GetList函数调用指定分类文章时,发现调用结果只有指定ID分类的文章,该ID分类下的子分类文章没有显示在调用结果中,在zblog官方论坛咨询,管理员给出回复,是GetList函数参数没有设置完整(所以要仔细研究函数). 完整代码: {foreach GetList(文章数量,分类ID,null,null,null,null,array('has_subcate' => true)) as $re

wget各种选项分类列表与下载_DOS/BAT

wget各种选项分类列表 "    启动    -V,  --version           显示wget的版本后退出   -h,  --help              打印语法帮助   -b,  --background        启动后转入后台执行   -e,  --execute=COMMAND   执行`.wgetrc'格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc "    记录和输入文件    -o,  --output-file=F

wordpress后台用户列表添加注册时间同时可注册时间排序2个方法

方法一 在wordpress的后台,所有用户默认是按照用户名排序的,并且没有显示用户的注册时间,那么我们希望看到用户注册时间并且可以按照用户的注册时间进行升序或者是降序排序,接下来将介绍实现方法,感兴趣的你可以参考下哈,希望可以帮助到你. 首先我们在用户列表的页面添加一列注册事件  代码如下 复制代码 add_filter( 'manage_users_columns', 'my_users_columns' ); function my_users_columns( $columns ){