首页 > 解决方案 > WP - 按日期获取类别计数

问题描述

是否有任何快捷查询来按日期获取类别计数。就像,一个人需要找到他/她昨天在每个类别中发表了多少帖子。

我这样做的方式:

  • 从数据库中获取日期的所有帖子
  • 遍历帖子循环并找到每个帖子类别
  • 统计每个类别的帖子总数

出于性能原因有没有更好的方法。我每天有大约100个帖子。

标签: wordpress

解决方案


使用自定义 SQL 查询

   global $wpdb;
    $sql = "
SELECT wp_term_taxonomy.term_id as term_id, COUNT(wp_posts.id) as count_posts
    FROM wp_posts
    INNER JOIN wp_term_relationships ON wp_posts.id = wp_term_relationships.object_id
    INNER JOIN wp_term_taxonomy ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_id
    WHERE wp_posts.post_date >= cast(DATE_ADD(NOW(), INTERVAL -1 DAY) as date)
    AND wp_term_taxonomy.taxonomy = 'category'
    GROUP BY term_id
    ";
    $query = $wpdb->get_results($sql);
    foreach ($query as $u) {
        var_dump($u);
    }

推荐阅读