在管理中,如何显示某个用户的评论?

时间:2012-02-29 作者:Borek Bernard

在用户部分,我可以看到他们帖子的链接,但看不到他们的评论。当我转到评论时,似乎没有一种简单的方法可以只过滤特定用户的评论。怎么做?(我肯定这样的基本功能一定在什么地方,我就是找不到。)

1 个回复
SO网友:kaiser

哎呀,这没有直截了当的办法。

你必须延长WP_List_Table 并添加一个额外的列。这是一个示例函数:

function wpse_get_comments_by_user( $user_ID )
{
    global $wpdb;

    $rows = $wpdb->query( $wpdb->prepare(
         "
            SELECT * 
            FROM %s
            WHERE user_id = %d
         "
        ,$wpdb->comments
        ,(int) $user_ID
    ) );

   return $rows;
}
以上↑ 函数返回所有DB行,供您通过ID指定的用户进行评论。

然后,您可以在foreach 回路:

foreach ( wpse_get_comments_by_user( $user->ID ) as $comment )
{
    $post_link = get_permalink( $comment->comment_post_ID );

    echo "<a href=\'{$post_link}\'>";
        // apply the excerpt filters in case the comment content is too long
        echo apply_filters( \'the_excerpt\', $comment->comment_content );
        // Add the date
        echo $comment->comment_date;
    echo \'</a>\';
}
实际的问题是,没有管理屏幕,您可以按用户列出评论。所以我想说,使用一个链接和一个页面模板来隐藏后面的内容会更容易做到这一点current_user_can( \'manage_options\' );.

结束

相关推荐

将wp-admin移至不同的子域

我正在尝试将wp admin端的内容移动到另一台服务器,以避免admin流量影响最终用户活动。处理此问题的任何最佳做法。实际上我已经这样做了,我只是想看看是否有人有更好的方法来做到这一点。