@Dianuj在一周前解决了我的问题,当时我问我如何能够recent comment
以上post
。这一切都很顺利,但昨天,当我测试它时,我看到了一个小问题,我不希望在我的Wordpress
网站上。让我向你解释一下......
如果有人在您发表评论之前对没有评论的帖子发表评论,那么此页面How to get most recent commented post above new submitted post in Wordpress?上的功能将完美无缺。我感谢Dianuj让我的生活更轻松。
当用户对ALREADY中有评论的帖子发表评论时,问题就开始了。例如,您在帖子上发表第二条评论。在这种情况下,帖子标题不会上升并在页面上显示“他的”脸。这是一个大问题,我希望有人可以帮助我解决此链接上的代码段How to get most recent commented post above new submitted post in Wordpress?
PS:对于懒惰的人来说,这里是 - >
<?php
global $wpdb;
$results = $wpdb->get_results(" SELECT p.*,
(CASE WHEN c.comment_date IS NULL THEN p.`post_date` ELSE c.comment_date END) order_column
FROM `wp_posts` p
LEFT JOIN `wp_comments` c ON (p.ID = c.`comment_post_ID` ) WHERE p.post_type='post' AND p.post_status='publish'
GROUP BY p.ID
ORDER BY order_column DESC");
?>
答案 0 :(得分:1)
在上面的情况GROUP BY
对第一次出现p.ID
的数据进行分组,这样最新的将被忽略的是获取ORDER BY
的所有数据然后对数据进行分组的技巧所以最新的一个会在那里
试试这个
SELECT * FROM (
SELECT p.*,
(CASE WHEN c.comment_date IS NULL THEN p.`post_date` ELSE c.comment_date END) AS order_column
FROM `wp_posts` p
LEFT OUTER JOIN `wp_comments` c ON (p.ID = c.`comment_post_ID` ) WHERE p.post_type='post' AND p.post_status='publish'
ORDER BY order_column DESC
) t GROUP BY ID ORDER BY order_column DESC