如何解决WordPress自定义查询过去7天内评论最多的帖子
|| 我正在尝试对wpdb进行查询,以获取过去一周内对大多数帖子发表的评论……有什么想法我做错了吗?$querystr = \"SELECT comment_count,ID,post_title
FROM $wpdb->posts wposts,$wpdb->comments wcomments
WHERE wposts.ID = wcomments.comment_post_ID
AND wcomments.comment_date >= CURDATE() - 7
GROUP BY wposts.ID
ORDER BY comment_count DESC
LIMIT 0,10
\";
$pageposts = $wpdb->get_results($querystr);
该查询似乎获得了有史以来评论最多的帖子,而不是过去一周中评论最多的帖子。
提前致谢。
解决方法
Lonut可以解决日期范围问题和评论最多的问题,但是它不会只选择在过去X时间间隔内评论最多的帖子。
应该这样做:
$querystr = \"SELECT comment_count,ID,post_title
FROM $wpdb->posts wposts,$wpdb->comments wcomments
WHERE wposts.ID = wcomments.comment_post_ID
AND wposts.post_status=\'publish\'
AND wcomments.comment_approved=\'1\'
AND wcomments.comment_date > DATE_SUB(CURRENT_TIMESTAMP,INTERVAL 1 WEEK)
GROUP BY wposts.ID
ORDER BY comment_count DESC
LIMIT 0,10
\";
编辑:日期过滤器从YEAR更改为WEEK
, 这应该工作:
global $wpdb;
$querystr = $wpdb->get_results(\"SELECT comment_count,post_title
FROM $wpdb->posts
WHERE
post_status=\'publish\' AND
post_date > DATE_SUB(CURRENT_TIMESTAMP,INTERVAL 1 WEEK)
ORDER BY comment_count DESC
LIMIT 0,10\");
, 您正在按posts
表的comment_count
字段进行排序。尝试订购与该组匹配的评论数:
ORDER BY count(*) desc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。