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

前面博客吧介绍了《wordpress搜索结果只有一个时直接跳转到结果文章页面》,这两天有主题用户问起当分类下只有一篇文章时能不能直接跳转到该文章页面,答案是可以的,方法的搜索结果是一下的,区别是把判断当前页面是搜索结果页面改为是分类列表页面即可,修改后的代码如下。

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

1
2
3
4
5
6
7
8
9
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'); //把定义的函数使用上

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

1
2
3
4
5
6
7
8
9
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'); //把定义的函数使用上

网友留言:

  1. 2015-08-24回复

    感谢分享的代码

发表留言