以下代码显示了如何限制某些用户查看特定页面。这可以放在独立插件或主题函数中。php文件。这段代码很容易解释,但我会详细介绍一下。
首先,选择一个合适的钩子来使用。我选择了wp
因为它是在WordPress完全加载之后$wp
对象已设置。根据应用程序的不同,您可能希望更早或更晚挂接。
接下来,确定您所处的页面或帖子是否要限制为特定用户。我选择限制具有post_title
属于“受限”。你必须使用自己的标准。如果标准很复杂,您可能希望将业务逻辑移动到其自己的功能中。如果帖子没有限制,那么早点回来。
接下来,检查用户是否应该能够看到页面或帖子。这个publish_posts
这个功能是一个注销、贡献者或订阅者都没有的功能,所以我用它来看看他们是否应该能够看到帖子。如果他们有这种能力,那么他们可以看到帖子,所以早点回来。
最后,使用重定向不应该看到帖子的用户wp_safe_redirect()
.
add_action( \'wp\', \'restrict_contributors\' );
function restrict_contributors() {
// * You\'ll have to determine how a post is restricted
if( \'Restricted\' !== get_post()->post_title ) {
return;
}
//* Subscribers and contributors don\'t have the publish_posts capability
//* Non-logged in users also don\'t have this capability
if( current_user_can( \'publish_posts\' ) ) {
return;
}
//* Redirect all other users to some location
wp_safe_redirect( home_url() );
exit;
}