查看每天记录的条目数

时间:2019-03-12 作者:Milad Abbasi

我想显示在指定时间段(例如30天)内从post\\u类型发布的文章数的图表。示例:2019年1月1日(1)2019年1月2日(15)2019年1月3日(0)2019年1月4日(6)2019年1月5日(0)2019年1月6日(3)2019年1月7日(7)

1 个回复
最合适的回答,由SO网友:hamdirizal 整理而成

最简单的方法是使用自定义MySQL查询WPDB

global $wpdb;
$table = $wpdb->prefix . \'posts\';
$sql = "SELECT DATE(post_date) AS date, COUNT(ID) AS count 
    FROM {$table} WHERE post_type = \'my_post_type\' AND post_status = \'publish\' GROUP BY DATE(post_date)";
$rows = $wpdb->get_results($sql);
或者,如果要防止SQL注入,可以使用以下预处理语句:

global $wpdb;
$sql = $wpdb->prepare(
    "SELECT DATE(post_date) AS date, COUNT(ID) AS count 
    FROM %s WHERE post_type = %s AND post_status = \'publish\' GROUP BY DATE(post_date)",
    array(
        $wpdb->prefix . \'posts\',
        \'my_post_type\'
    )
);
$rows = $wpdb->get_results($sql);
然后可以迭代$rows 显示数据。

foreach ($rows as $row) {
    echo $row->date . \' -- \' . $row->count;
}