WordPress主题增加其他权限可见功能的简单办法

4,393次阅读
3条评论

以下功能为修改主题文件方式,后续主题更新或插件更新可能需要重复修改并增加代码。

本页权限功能需配合角色管理插件使用,本站使用插件为 Members ,文章底部提供简单的插件使用教程。

Members插件汉化版下载地址

《WordPress插件 members 机翻汉化版下载》

Puock小程序增加 vip 权限可见内容

发布文章后,内容为专属 VIP 权限或 Puock MP 权限可查看,此功能与主题功能不通用,小程序需单独修改。

PS:由于小程序版权问题,所以小程序根据用户权限展示内容的修改方式及代码隐藏,如您已取得小程序MP权限,可在小程序正版群里联系我获取本站Puock MP权限。
未获得小程序MP权限的用户无法获取本站Puock MP权限。

您必须要拥有 Puock MP 权限才可以查看此内容

Puock主题 vip 权限可见内容

WordPress发布文章时,内容为vip权限可查看

安装插件《Members》,并新增设置vip权限,需要注意的地方是:Custom栏目中需要新增read_vip_content,并勾选。

添加代码文件目录inc/fun/short-code.php

第12行插入,这条代码是为了在文章编辑器顶部的添加短代码中增加 VIP可见 按钮。

        'vip' => array('name' => 'VIP权限可见', 'content' => '输入内容'),

第145行新增一下内容

//VIP可见
if ( ! function_exists( 'shortcode_vip_content' ) ) {
    function shortcode_vip_content($atts, $content = null) {
        if ( current_user_can('read_vip_content') ){
            $retour = $content;
        } else {
            $retour = "<div class='alert alert-warning'> 您必须要拥有本站 VIP 角色权限才可以查看此内容 </div>";
        }

        return $retour;

    }
}
add_shortcode( 'vip', 'shortcode_vip_content' );

WordPress主题增加其他权限可见功能的简单办法


Members 使用教程

安装插件:插件商城中下载members插件,原版为英文版,汉化版插件可见顶部连接中给出的下载地址,安装并启用插件!

插件安装完成后,刷新后台页面,点击左侧菜单栏中的Mbmbers,进入角色设置。

点击顶部添加新的按钮,输入角色名称,然后勾选文章->阅读权限,给予该权限组文章阅读权限。

点击 Custom,然后在右侧的Custom Capability中新增自定义功能,再点击Add New,增加自定义功能选项,然后勾选刚刚添加的自定义功能。

到这里角色权限基本上完成了,只需要最后点击添加角色按钮,完成角色添加。

角色权限与代码的配合简单讲解

//VIP可见
if ( ! function_exists( 'shortcode_vip_content' ) ) {
    function shortcode_vip_content($atts, $content = null) {
        if ( current_user_can('read_vip_content') ){
            $retour = $content;
        } else {
            $retour = "<div class='alert alert-warning'> 您必须要拥有本站 VIP 角色权限才可以查看此内容 </div>";
        }

        return $retour;

    }
}
add_shortcode( 'vip', 'shortcode_vip_content' );

上述可见代码简单讲解。

if判断当前用户角色中是否拥有read_vip_content权限,当然,这里也可以用角色名来调用,但是这样我个人感觉更好。

因为我在给用户权限的时候,不需要勾选多个权限组,比如我给管理员VIP权限,那么我不用给管理员用户两个权限组,而是把管理的角色勾选给予read_vip_content权限,即可实现管理员可见VIP内容

特别需要注意的地方是:如果你没给管理员权限,那么管理员也是不能查案VIP权限才能查看的内容。

上面代码中,如果if判断当前用户拥有权限,则输出隐藏内容 $content;

如果if判断不拥有权限,则输出提示内容您必须要拥有本站 VIP 角色权限才可以查看此内容

所以,if ( current_user_can('read_vip_content') ){ 这里面的 read_vip_content 自定义功能名称要和你刚刚添加角色时写的名称一致,而current_user_can函数是WordPress官方提供的权限检查函数,可以直接使用。

但凡你给你的权限组或者叫角色中勾选了自定义功能这个选项,那么他在登陆之后,就可以查看需要权限才能查看的内容。

文章中如果有写的不到位的地方,可以直接留言反馈。谢谢

沛霖主页 mp_wx_6a98a928c4

共计23人点赞,其中2人来自小程序

正文完
微信扫码打开小程序体验更多功能
post-qrcode
 23
沛霖主页
版权声明:本站原创文章,由 沛霖主页 2023-03-05发表,共计2593字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(3条评论)
mp_wx_18017725ce 评论达人 LV.1
2023-03-10 13:03:42 回复

已经用上,感谢授权 :cool:

 Windows  Chrome  中国山西省大同市联通
宅博客 评论达人 LV.1
2023-03-06 19:55:43 回复

感谢分享

 Windows  Edge  中国江苏省常州市移动
you go 评论达人 LV.1
2023-03-05 16:53:56 回复

谢谢大佬的分享

 Windows  Chrome  中国黑龙江省佳木斯市联通