纯代码实现WordPress文章内容隐藏设置VIP会员用户可见方法

纯代码实现wordpress文章内容隐藏设置VIP用户可见方法,类似 erphpdown 会员插件系统,因为亿破姐网站不喜欢使用那些花里胡哨的的插件,erphpdown 就有很多不必要的功能,个人感觉就是累赘,多余的功能影响网站的加载速度,所以在网上找了一份代码可以实现wordpress文章内容隐藏设置VIP用户可见,话不多说,下面给大家贴上代码。

一、文章内容隐藏代码

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

add_shortcode( 'vipp', '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 '温馨提示:此处内容您暂时还没有权限查看,请联系管理员升级您的用户权限!';  }  }

二、代码使用方法

在编辑文章的时候在使用以下代码设置隐藏内容(代码中的【 改成 [  )如果我写[ ]会自动隐藏,所以【 代替

【vipp] 这是隐藏的内容 【/vipp]

如果嫌弃麻烦的可以直接传统编辑器添加一个 “VIP用户可见” 按钮(代码中的【 改成 [  ),古腾堡编辑器同学爱莫能助了,以下代码直接复制到 functions.php 文件中保存

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

三、设置VIP用户组  // 调整用户的用户组

1、因为wordpress默认注册用户都是有 read 读权限的,我们需要设置一个VIP用户组,不给该角色赋予读权限,以下代码直接复制到 functions.php 文件中保存

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

2、把所有的订阅者转换为普通用户

后台 > 用户 > 把角色批量变更为普通用户

这个订阅者才是VIP用户组,订阅者才能阅读我们代码vipp隐藏的内容,普通用户无法阅读,简简单单就完成了wordpress文章VIP用户的设置

最后 wordpress 后台里选择 “设置” > “常规” > “新用户默认角色” 设置默认普通用户组

温馨提示: 应版权方要求,违规内容链接已处理或移除!

下面的代码与上面无关,仅仅为记录一下

1、wordpress 修改用户角色

以修改“订阅者”为“设计师”为例,复制下面的代码到 wordpress 主题的 functions.php 文件中。

//WordPress 修改用户角色  add_action('init', 'fanly_change_role_name');  function fanly_change_role_name() {  global $wp_roles;  if ( ! isset( $wp_roles ) )$wp_roles = new WP_Roles();  $wp_roles->roles['subscriber']['name'] = '设计师';  $wp_roles->role_names['subscriber'] = '设计师';  }

对照修改第 6、7 行中你想要编辑的角色英文名称(小写字母)所对应的中文名称,保存即可,之后,新增用户时,在角色选择中可以看到你所修改的用户角色的新名称。

2、wordpress 添加用户角色

将下面的代码添加到当前主题的 functions.php ,就可以添加一个名为 “自定义角色” 的用户角色,其中 custom_role 为用户因为标识,不可以重复

//WordPress 添加用户角色  add_role('custom_role', '自定义角色', array(  'read' => true, //阅读权限,true 表示允许  'edit_posts' => true,//编辑文章的权限,true 为允许  'delete_posts' => false, //删除文章的权限,false 表示不允许删除  ));

3、wordpress 删除用户角色

复制如下代码到 wordpress 主题的 functions.php 文件中:

//WordPress 删除用户角色  remove_role( 'contributor' );//投稿者  remove_role( 'subscriber' );//订阅者  remove_role( 'author' );//作者  remove_role( 'editor' );//编辑

谢谢支持

凡是文章右上角标记“原创”字样严禁转载,一经转载必追究到底!
THE END
分享
二维码
< <上一篇
下一篇>>