当前位置: 首页 > 知识库问答 >
问题:

自定义查询,根据上次评论日期对帖子进行排序

郑理
2023-03-14

我只想根据最后评论日期对标准查询中的帖子进行排序。我尝试过类似的东西(下面的代码),但我不能得到它的权利。PS:'dzialy'=

function forum_commentsjoin($join) {
 global $wp_query, $wpdb;
 if ($wp_query->query_vars['post_type']=='forum' && isset($wp_query->query_vars['dzialy'])) {
  $join .= "LEFT JOIN $wpdb->comments ON $wpdb->comments.comment_post_ID=$wpdb->posts.ID"; 
 } 
 return $join; 
}

...后来。。。

$args = array( 'post_type' => 'forum', 'dzialy' => $cat, 'posts_per_page' => $ilosc, 'orderby'=>'comment_date', 'order'=>'DESC', );

print_r($loop->query); 

...在那之后...

数组([后置类型]=


共有2个答案

龙霖
2023-03-14

试试这个代码,

select wp_posts.*,
    coalesce(
        (
            select max(comment_date)
            from $wpdb->comments wpc
            where wpc.comment_post_id = wp_posts.id
        ),
        wp_posts.post_date
    ) as mcomment_date
    from $wpdb->posts wp_posts
    where post_type = 'post'
    and post_status = 'publish' 
    order by mcomment_date desc
    limit 10

参考:通过最近的评论订购WordPress帖子

希望这对你有帮助

卜阳
2023-03-14

您可以使用JOIN和wpdb类来运行原始sql查询

SELECT DISTINCT p.* 
FROM 
`wp_posts` p
LEFT JOIN  `wp_comments` c ON(p.`ID`=c.`comment_post_ID`)
WHERE p.`post_status`='publish'
AND p.`post_type`='forum'
ORDER BY c.`comment_date` DESC
 类似资料:
  • 帖子评论列表 评论帖子 删除评论 帖子评论列表 get /group-posts/:post/comments 响应 status 200 参数说明 名称 类型 说明 limit integer 默认 20 ,数据返回条数 默认为20 after inegter 可选,上次获取到数据最后一条 ID,用于获取该 ID 之后的数据。 { "pinneds": [],// 置顶评论列表,同com

  • 问题内容: 我试图根据键中的日期对此HashMap进行排序 我的哈希图: 问题答案: 使用代替。正如已经实现的那样,它将在插入时自动排序。 或者,如果您有一个现有的并且想要基于它创建一个,则将其传递给构造函数: 也可以看看: Java教程-地图实现 Java教程-对象排序

  • 问题内容: 我正在尝试根据创建日期读取最新的10个文件。 我尝试了此代码,但是它不能用,我的意思是,每当我添加新文件时,它都不会在输出中显示新文件名。 我什至尝试了apache commons io,但这也不起作用(这意味着在该目录中创建新文件时,不显示新文件) 这是我的Apache Commons io版本 问题答案: 尝试翻转比较顺序: 这对我来说仅适用于本地测试。

  • 因此,我已经使用标准的Spring Data JPA接口完成了这项工作,该接口扩展了PagingAndSortingRepository,以便为REST API实现分页和排序。问题是,现在我想实现同样的事情,但现在只使用普通的JPA,到目前为止,我成功地让我的API分页,但排序根本不起作用。每次尝试设置参数(使用pageable.getsort()从可分页对象中),都会以查询错误结束(如果只是发送

  • 我知道你可以设置自定义查询与元素插件,但只有少数小部件支持这个f. e.后小部件。但是我想设置一个自定义查询与"Archive Post"-元素的小部件。 我想把我所有的帖子按年份分组。(每一行的顶部还应显示年度名称) 你知道怎么做吗?也许通过改变php代码本身?Elementor的php代码在哪里?

  • 使用下面的代码,我列出了自定义帖子类型“人物”下的所有帖子 下面是我的页码, 我还创建了一个插件,使用上面的代码在边栏中显示标题列表。因此,每当我访问mysite.com/people这两个网站时(即带有分页的自定义帖子列表 若我转到第二页,侧边栏显示为空。 有人知道我哪里出错了吗?