WordPress 技巧:给普通用户显示未发布的文章

WordPress 3.0 之后,我们可以使用 register_post_status 可以自定义日志状态,但是普通用户无法查看该状态日志的 single 页面,会跳转到 404 页面。我们可以在 functions.php 加入一下代码解决这个问题:


function show_custom_status_post($post){
	if($post[0]->post_status=='custom_status'){
		$post[0]->post_status = 'publish';
		$post[0]->orignal_status = 'custom_status';//保存原始状态
	}
	return $post;
}
add_filter('posts_results', 'show_custom_status_post' );