在Wordpress中获取最新的评论记录和相应的post slug [英] Get latest comment records and the corresponding post slugs in Wordpress

查看:14
本文介绍了在Wordpress中获取最新的评论记录和相应的post slug的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下查询以获取最新评论:

I have the following query for getting the latest comments:

global $wpdb;
  $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10";

  $comments = $wpdb->get_results($sql);

我还想获取每个评论的帖子名称(slug),而不是对每个评论运行查询.您能否建议对上述查询进行修改以实现此目的?更好的是,我可以使用内置的 Wordpress 函数执行此操作吗?

I also want to get the name(slug) of the post for each comment, without running a query for each comment. Can you suggest a modification to the above query to achieve this? Better yet, can I do this using built-in Wordpress functions?

基本上我需要:

$comments = array ( 'comment_object' => ... , 'post_name' => ... )

推荐答案

来自我自己的近期评论代码,稍作修改:

From my own Recent Comments code with minor edits:

/**
 * @return object
 */ 
function recent_comments_query($limit)
{
    global $wpdb;

    $sql = "SELECT DISTINCT ID,
                post_title,
                post_name, // <- post name
                post_password,
                comment_ID,
                comment_post_ID,
                comment_author AS author,
                comment_date_gmt,
                comment_approved,
                comment_type,
                comment_author_url AS url,
            SUBSTRING(comment_content, 1, 200)
                AS comment_content
            FROM $wpdb->comments
            LEFT OUTER JOIN $wpdb->posts
                ON (
                    $wpdb->comments.comment_post_ID = $wpdb->posts.ID
                )
            WHERE comment_approved = '1'
                AND comment_type   = ''
                AND post_password  = ''
            ORDER BY comment_date_gmt DESC
            LIMIT $limit";

     return $wpdb->get_results($sql);
}

你会得到一个带有 $limit 结果或 NULL 的对象.

You’ll get back an object with $limit results or NULL.

这篇关于在Wordpress中获取最新的评论记录和相应的post slug的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆