1

如何根据用户的角色或能力限制对特定 Wordpress 页面的访问?我知道有各种插件可以实现这一点,我在谷歌搜索时发现了一些非常陈旧的解决方案。

我相信现在是时候拥有一个有效的最新解决方案了。

4

1 回答 1

4

正如我在回答你最近的一个问题后试图在评论中解释的那样,以及在你的链接文档底部的开发资源部分中引用的那样,是(据我所知)最灵活和最全面的方法给定用户级别的替换(2.0)和弃用(3.0)测试用户能力。current_user_can

无论您是允许还是限制访问以查看页面或进行特定更改,与 Wordpress 已经定义的与角色相关联的功能相结合是有意义的。当您使用任何类型的角色范围能力编辑超级管理员插件或功能时,尤其如此。它也不受单个或多站点安装中的应用程序的阻碍,并涵盖了所有可能的用户。

当您测试当前用户是否可以执行此操作时,与哪些功能与某些角色或用户级别相关联相比,这些功能发生变化的可能性要小得多。

您需要了解的所有内容都在 docs 中得到了current_user_can很好的解释,并且通常遵循以下逻辑:

if ( current_user_can('do_something_pertaining_to_the_below') ) {
    echo 'You are a user who can do the above thing, so do the below thing';
    /* the thing */
}

反过来:

if ( !current_user_can('some_fancy_capability') ) {
    echo 'No can do';
    return;
}
else { /* the similarly fancy, restricted thing */ }

综上所述,如果有人听说过一种更先进、更智能的方法,我全都听好了!

于 2012-09-21T18:08:39.503 回答