东风不来
三月的柳絮不飞

WordPress文章内容设置VIP用户可见 纯代码实现

相信很多人都知道一个 WordPress 插件叫 erphpdown ,有很多功能,最常见的就是设置用户查看文章内容的权限,因为博主不是很喜欢使用插件,能用代码实现的尽量使用代码实现,废话不多说直接放代码:

1. 添加 function 核心代码

把下面代码复制到主题文件的 functions.php 中

add_shortcode( 'vip_only', 'users_read_shortcode' );
function users_read_shortcode( $atts, $content = null ) {
    if ( is_user_logged_in() && !empty( $content ) && current_user_can( 'read' ) )    { 
       return $content;
    }
   if ( !is_user_logged_in()){
      return '温馨提示:此处内容需要登录后才能查看!';
    }
   if ( is_user_logged_in() && !current_user_can( 'read' )){
       return '温馨提示:此处内容您暂时还没有权限查看,请联系管理员升级您的用户权限!';
    }
}

添加完这段代码,就可以直接在文本编辑框中使用

【vip_only]隐藏的内容【/vip_only]

实现文章隐藏内容设置VIP用户可见了!
注意:请将 更改为 [

2. 添加 VIP用户可见 按钮

当然每次都需要自己手动输入这几个短代码,比较繁琐,所以博主这里为 WordPress 传统编辑器添加一个 “VIP用户可见” 的按钮,代码直接复制到 functions.php 文件中,至于使用古腾堡编辑器的同学,这里就不用添加了,因为博主也没怎么折腾这个编辑器,所以怎么添加自定义按钮博主也不太清楚!

function appthemes_add_vip_only() {
?>
    <script type="text/javascript">
        if ( typeof QTags != 'undefined' ) {
            QTags.addButton( 'vip_only', 'VIP用户可见', '【vip_only]','【/vip_only]' );
        } 
    </script>
<?php 
}
add_action('admin_print_footer_scripts', 'appthemes_add_vip_only' );

注意:请将 更改为 [

3. 添加用户角色

因为 WordPress 的用户角色都具有 read 读权限,所以我们需要添加一个新的用户角色,不给该角色赋予读权限,直接将下面代码复制到 functions.php 中:

//添加普通用户角色
add_role('pt_user', '普通用户', array(
'read' => false, //读权限
'edit_posts' => false,//编辑权限
'delete_posts' => false, //删除权限
));

添加该角色后,我们在后台可以看到多出来一个 “普通用户” 的新角色,如下图所示:

最后 WordPress 后台里选择 “设置” ==> “常规” ==> “新用户默认角色” 设置为普通用户,如下图所示:

到此教程结束了!至于显示的样式,可以自己调整一下!

赞(6) 打赏
未经允许不得转载:文字咖 » WordPress文章内容设置VIP用户可见

评论 2

7 + 6 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    按你的方法试了 只要是会员都可以看 我想要设置成 普通用户看不了 只有VIP 才能看的那种 可不可以帮我看一下 是哪里的问题 联系我的邮箱

    jaylon 4周前 (09-02) 来自天朝的朋友 谷歌浏览器 Mac OS X 10_14_6 回复
    • Wonder Zhou

      @jaylon 你认真看一下教程,普通用户的读写删除权限都已经去掉了,按道理的说,你只要加了这个功能,普通用户是无权查看的!

      Wonder Zhou 3周前 (09-04) 来自天朝的朋友 谷歌浏览器 Windows 10 回复

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏