获取登录用户已发表评论的所有帖子

时间:2013-03-24 作者:Dameer

我不擅长sql查询,所以问题是:

如何列出登录用户留下评论的所有帖子?

我想很明显,如果用户在同一篇帖子上发表了多条评论,冗余是不必要的。

谢谢

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

这应该很简单,因为如果评论是由登录用户创建的,则会使用user\\u id存储,如果不是,则将其设置为false,因此您只需从user\\u id大于零的评论中选择帖子id,如下所示:

function get_posts_with_loogedin_user_comments(){
    global $wpdb;
    $sql = "SELECT DISTINCT  comment_post_ID
            FROM  $wpdb->comments
            WHERE  user_id > 0
            ";
    $post_ids = $wpdb->get_col($sql);
    if ($post_ids)
        return $post_ids;
    return false;
}

结束

相关推荐

WordPress mysqli and PDO

WordPress代码库是否使用mysqli或PDO?我知道PDO优于mysqli,但mysqli也不错。此外,PDO优于mysqli的一个特性(即数据库不可知)对WordPress意义不大,因为WordPress总是使用mysql服务器。但PDO支持将参数与数据类型绑定,但mysqli不支持,这是一件好事。我的直觉告诉我WordPress确实使用了mysqli,但我还无法在代码库中看到它。我的第二个问题是,如果WordPress正在使用mysqli,是因为速度问题,还是因为在早些时候(开发WP时),PD