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

前面我们介绍了《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'); //把定义的函数使用上