用户登录
用户注册

分享至

wordpress管理员评论

  • 作者: 尕宇先生
  • 来源: 51数据库
  • 2020-06-05

1. Wordpress如何显示所有用户的评论

WordPress大多主题在用户登录下,评论框上也会显示一句:Logged in as XXX,它同样也能让已登录用户显示头像,效果如下:

实现WordPress评论框显示已登录用户头像

先来看看WordPress默认主题里关于已登录用户提示的这个代码段(comments.php):

Logged in as .

那怎么显示头像呢?这儿直接用 get_avatar() 可是获取不到当前登录用户的头像的,原因也显然,没指定登录用户的邮箱撒,所以得借助一个WordPress函数: get_currentuserinfo

改造后的代码段:

user_email, 35); ?>

Logged in as .

当然,这个 get_currentuserinfo 包含的可不止邮箱一个信息,更多内容还请各位童鞋自个儿看WordPress官方文档咯,懂点E文还是相当有用处的!

2. 如何设置让WordPress用户每篇文章评论一次

实现代码,放到当前主题的functions.php中即可(这里还增加了对IP的判断,更保险):// 获取评论用户的ip,参考wp-includes/comment.phpfunction ludou_getIP() { $ip = $_SERVER['REMOTE_ADDR']; $ip = preg_replace( '/[^0-9a-fA-F:., ]/', '', $ip ); return $ip;}function ludou_only_one_comment( $commentdata ) { global $wpdb; $currentUser = wp_get_current_user(); // 不限制管理员发表评论 if(empty($currentUser->roles) || !in_array('administrator', $currentUser->roles)) { $bool = $wpdb->get_var("SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = ".$commentdata['comment_post_ID']." AND (comment_author = '".$commentdata['comment_author']."' OR comment_author_email = '".$commentdata['comment_author_email']."' OR comment_author_IP = '".ludou_getIP()."') LIMIT 0, 1;"); if($bool) wp_die('本站每篇文章只允许评论一次。

点此返回'); } return $commentdata;}add_action( 'preprocess_comment' , 'ludou_only_one_comment', 2。

3. WordPress各用户角色都有哪些权限

订阅者:只能修改自己的个人资料,例如昵称、联系信息、密码等等。

2

投稿者:具有订阅者的所有权限。可以发表文章,发表的文章需要经过管理员审核后才能在博客上显示出来,但可以预览效果。对待审中的文章可以编辑,但对已通过审核的文章不能编辑,可以查看所有站内评论,但不能对评论进行编辑。

3

作者:具有投稿者的所有权限。可以编辑已通过审核的文章,发表文章不需要审核,可以使用媒体库。

4

编辑:具有作者的所有权限。可以对文章标签、分类进行管理,可以管理友情链接,可以编辑评论,可以添加或编辑页面,还可以编辑待审中的文章,但编辑后仍然处于待审状态。实际上,编辑只是不具备外观、插件、用户、设置和备份这些选项的操作。

5

管理员:具有admin的所有权限,包括删除admin!不能随便给他人这个权限,这个不用具体说也知道啦。

4. wordpress怎么让注册用户不显示待审核的评论

这个问题确实有点难度,评论这块现在也弄得少,基本都用第三方的了。

按您的要求,除administrator外,都是注册用户,所以可以在当前皮肤的functions.php中做如下判断:

if ( ! is_super_admin() ){//非管理员

//blablabla。

}

然后将待审、垃圾评论、已回收的评论信息不显示。这可以对get_comments函数提供的pre_get_comments钩子进行设置,比如:

add_action( 'pre_get_comments', 'dit_hide_some_comments', 999 );

function dit_hide_some_comments( $comments ){

$comments->query_vars['status'] = 'approve'; //获取评论信息时只显示已审核批准的。

return $comments;

}

这时如果注册用户查看回收站时,又要只能显示当前用户自己的。所以还要增加点判断

function dit_hide_some_comments( $comments ){

$status = $comments->query_vars['status'];

if ( 'trash' == $status ) {//当用户选择显示回收站时,将ID添加进筛选条件

global $current_user;

$comments->query_vars['user_id'] = $current_user->ID;

}else {

$comments->query_vars['status'] = 'approve'; //获取评论信息时只显示已审核批准的。

}

return $comments;

}

所以,最后放在functions.php中的代码片段整合如下:

if ( ! is_super_admin() ){//非管理员

add_action( 'pre_get_comments', 'dit_hide_some_comments', 999 );

function dit_hide_some_comments( $comments ){

$status = $comments->query_vars['status'];

if ( 'trash' == $status ) {//当用户选择显示回收站时,将ID添加进筛选条件

global $current_user;

$comments->query_vars['user_id'] = $current_user->ID;

}else {

$comments->query_vars['status'] = 'approve'; //获取评论信息时只显示已审核批准的。

}

return $comments;

}

}哎呀,屁股坐得有点痛喽。该躺下休息了。代码您先行测试,有问题再继续交流哈。

5. WordPress各用户角色都有哪些权限

方法/步骤订阅者:只能修改自己的个人资料,例如昵称、联系信息、密码等等。

投稿者:具有订阅者的所有权限。可以发表文章,发表的文章需要经过管理员审核后才能在博客上显示出来,但可以预览效果。

对待审中的文章可以编辑,但对已通过审核的文章不能编辑,可以查看所有站内评论,但不能对评论进行编辑。作者:具有投稿者的所有权限。

可以编辑已通过审核的文章,发表文章不需要审核,可以使用媒体库。编辑:具有作者的所有权限。

可以对文章标签、分类进行管理,可以管理友情链接,可以编辑评论,可以添加或编辑页面,还可以编辑待审中的文章,但编辑后仍然处于待审状态。实际上,编辑只是不具备外观、插件、用户、设置和备份这些选项的操作。

管理员:具有admin的所有权限,包括删除admin!不能随便给他人这个权限,这个不用具体说也知道啦。

转载请注明出处51数据库 » wordpress管理员评论

软件
前端设计
程序设计
Java相关