一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

WordPress后台显示未回复评论及当前用户的评论的设置

时间:2015-08-21 编辑:简简单单 来源:一聚教程网

我们要实现的功能图如:

未回复


上网搜了一下,发现有个插件DX Unanswered Comments(下载地址)可以实现这样的功能,只要上传安装好该插件,然后进后台 ? 设置 ? DX Unanswered Comments,在Authors List那里填上管理员的登录名,多个登录名用半角逗号隔开,保存即可。

然后进入WordPress后台 ? 评论,页面顶部就多了个 Non-replied 的筛选链接,点击即可查看管理员没有回复过的评论,还有个筛选链接是 Non-replied ? Top Level ,这个只显示管理员未回复的顶级评论。

不过这个插件的官方版本有些问题,可能无法正常使用,我们需要做一些修改,用文本编辑器打开:dx-unanswered-comments\inc\dxuc-helper.class.php

查找:
$user = get_user_by( 'slug' ,trim( $username ) );
改成以下代码即可:
$user = get_user_by( 'login' ,trim( $username ) );

至于汉化,我们可以在dx-unanswered-comments\dx-unanswered-comments.php中,查找:
__( 'Non-replied', 'dxuc' )
改成:
__( '未回复', 'dxuc' )

查找:
__( 'Non-replied - Top Level', 'dxuc' )
改成:
__( '未回复 - 顶级', 'dxuc' )

最后再用utf-8编码另存为dx-unanswered-comments.php即可。



如何在WordPress后台的评论列表只显示当前用户的评论吗

如果你说的是评论列表页面 edit-comments.php,可以将下面的代码添加到主题的 functions.php ,这样一来,在这个页面就只显示该用户的评论:

/**
 * 显示当前用户的评论(以及他发布的文章下的评论)
 */
add_filter('the_comments', 'wpdx_filter_comments');
function wpdx_filter_comments($comments){
    global $pagenow;
    global $user_ID;
    get_currentuserinfo();
    //如果你需要显示当前用户文章下的评论,请删除下面的 /* 和 */ 这两个注释符
    //current_user_can('publish_posts') 表示当前用户是“作者”角色,你可以通过修改参数来限定角色,参考 http://codex.wordpress.org/Roles_and_Capabilities
    if($pagenow == 'edit-comments.php' /* && current_user_can('publish_posts')*/){
        foreach($comments as $i => $comment){
            $the_post = get_post($comment->comment_post_ID);
            //如果你需要显示当前用户文章下的评论,请删除下面的 /* 和 */ 这两个注释符
            if($comment->user_id != $user_ID /* && $the_post->post_author != $user_ID*/)
                unset($comments[$i]);
        }
    }
    return $comments;
}


热门栏目