wordpress - WP - 按日期获取类别计数
问题描述
是否有任何快捷查询来按日期获取类别计数。就像,一个人需要找到他/她昨天在每个类别中发表了多少帖子。
我这样做的方式:
- 从数据库中获取日期的所有帖子
- 遍历帖子循环并找到每个帖子类别
- 统计每个类别的帖子总数
出于性能原因有没有更好的方法。我每天有大约100个帖子。
解决方案
使用自定义 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);
}
推荐阅读
- asp.net - MVC 一对多用户公司和通知
- c# - 在 asp.net MVC 5 中使用 SignalR 上传图像
- asp.net-core-2.0 - 在 asp.net core 2 中流式传输视频文件
- html - HTML 表单,如何垂直对齐和居中输入字段?
- python - 从flask-admin的模型视图中摆脱/隐藏/删除“选择”视图
- amazon-ec2 - 每 2 或 3 天通过 Ec2 1/2 检查
- javascript - SyntaxError:预期的表达式,在字符 2 处得到 '}'
- python - Tkinter 中的 'root.mainloop()' 导致 AttributeError
- typescript - 打字稿:“数字”类型的参数不可分配给“字符串”类型的参数
- php - PHP-Websocket:socket_recv() 和 socket_getpeername() 的问题