相信很多人都知道一个 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 后台里选择 “设置” ==> “常规” ==> “新用户默认角色” 设置为普通用户,如下图所示:
到此教程结束了!至于显示的样式,可以自己调整一下!
这个方法把所有非vip用户阅读权限都去掉了,那是不是意味着:对于订阅者和访客来说,新发布的文章不管是否设置vip可见,都是不可见的? 这个功能需要调整呀。是不是要在文章模版页加上判断,针对不同等级的访客进行不同的展示?
按你的方法试了 只要是会员都可以看 我想要设置成 普通用户看不了 只有VIP 才能看的那种 可不可以帮我看一下 是哪里的问题 联系我的邮箱
@jaylon 你认真看一下教程,普通用户的读写删除权限都已经去掉了,按道理的说,你只要加了这个功能,普通用户是无权查看的!