首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想限制订阅者和贡献者的页面。

我想限制订阅者和贡献者的页面。
EN

WordPress Development用户
提问于 2018-04-28 02:59:14
回答 1查看 37关注 0票数 -1

好的,我想限制订阅者和缴费员的页面,并希望将它们重定向到另一个页面。

但我怎么能做到呢?

EN

回答 1

WordPress Development用户

发布于 2018-04-28 18:16:21

下面的代码演示如何限制某些用户查看某个页面。这可以放在一个独立的插件或主题functions.php文件中。代码是相当不言自明的,但我会仔细研究一下。

首先,选择一个合适的钩子来使用。我之所以选择wp,是因为它是在WordPress完全加载并设置了$wp对象之后。根据应用程序的不同,您可能希望更早或更晚地连接。

接下来,确定您是否在某个页面或帖子上,仅限于特定用户。我选择限制具有“受限”post_title的帖子/页面。你得用你自己的标准。如果条件很复杂,您可能希望将业务逻辑转移到它自己的函数中。如果帖子不受限制,那就早点回来。

接下来,检查用户是否应该能够看到页面或帖子。publish_posts功能既没有登录,也没有贡献者,也没有订阅者,所以我用它来查看他们是否应该能够看到帖子。如果他们有这种能力,那么他们可以看到帖子,所以提前返回。

最后,使用wp_safe_redirect()重定向不应该看到帖子的用户。

代码语言:javascript
复制
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;
}
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/302131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档