WordPress 实现指定级别用户评论不用审核

WordPress怎么实现指定级别用户评论不用审核?下面教大家使用代码为你的主题添加指定级别用户评论不用审核的功能,举一反三,可以拓展为指定级别用户评论必须审核等等。

本文核心

  • current_user_can函数对wordpress用户角色权限的判断,在本文中用来分辨用户属于什么级别。
  • pre_comment_approved过滤器,用来过滤评论状态,用它可以让我们自定义用户的评论状态,不受后台设置限制。此过滤器更多说明请查阅:WordPress代码实现评论白名单功能

就这两个点,是不是特别简单。对于高级主题,可能会有一些自定义的用户角色,其一般通过add_role函数实现,大家可以通过搜索该函数找到你的主题中添加了哪些用户角色。

扩展:全局变量$current_user可以得到用户的角色名称。

实现代码

只有管理员才能通过审核

管理员权限可以管理后台设置,权限名称为manage_options,所以代码如下。

//WordPress代码实现指定级别用户评论不用审核
//https://www.daimadog.com/6258.html
function dmd_allow_comment( $approved , $commentdata ) {
if (current_user_can ('manage_options')) {
return 1;
}else{
return 0;
}
}
add_filter( 'pre_comment_approved', 'dmd_allow_comment', 99, 2 );

指定角色可以通过审核

使用权限判断就不够准确了,这里需要使用角色名称,通过全局变量$current_user来实现。

//WordPress代码实现指定级别用户评论不用审核
//https://www.daimadog.com/6258.html
function dmd_allow_comment( $approved , $commentdata ) {
global $current_user;
if( $current_user->roles[0] == 'author' ) {
return 1;
}else{
return 0;
}
}
add_filter( 'pre_comment_approved', 'dmd_allow_comment', 99, 2 );

这里是判断用户角色是author作者,自定义角色请自行测试。代码加在哪里不用我说了吧。

扩展知识

用户权限判断举例

判断用户是否为管理员(administrator)level_10 ~ level_8

if ( current_user_can ( 'manage_options' ) ) {
echo 'The current user is a administrator' ;
}

判断用户是否为编辑(Editor)level_10~ level_3

if ( current_user_can ( 'publish_pages' ) && ! ​​current_user_can ( 'manage_options' ) ) {
echo 'The current user is an editor' ;
}

判断用户是否为作者(Author)level_10 ~ level_2

if ( current_user_can ( 'publish_posts' ) && ! ​​current_user_can ( 'publish_pages' ) ) {
echo 'The current user is an author' ;
}

判断用户是否为投稿者(Contributor)level_10 ~ level_1

if ( current_user_can ( 'edit_posts' ) && ! ​​current_user_can ( 'publish_posts' ) ) { 
echo 'The current user is a contributor' ;
}

判断用户是否为订阅者(Subscriber)level_10 ~ level_0

if ( current_user_can ( 'read' ) && ! ​​current_user_can ( 'edit_posts' ) ) { 
echo 'The current user is a subscriber' ; 
}

参考:《代码狗》

给TA买糖
共{{data.count}}人
人已赞赏
wordpress

WordPress将wp-clean-up插件集成到主题

2020-4-30 17:57:51

wordpress

WordPress美化之文章内页新增彩色渐变框【共9套】

2020-5-6 13:05:37

⚠️
Golurending上的部份代码及教程来源于互联网,仅供网友学习交流,未经Golurending作者或上传书面授权,请勿作他用。
若您的权利被侵害,请联系站长 邮箱codesns#163.com(#-@) 或 点击右侧 私信:管理员 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索