WordPress获取用户指定时间段发布文章数量
wordpress获取文章发布数量可以通过 wp_count_posts 和 count_user_posts 这两个函数去实现,但如果想要加入一些条件筛选,例如加入用户ID或者时间段,获取某个用户或某个时间段内的文章发布数量该如何实现呢?
通过SQL查询加入判断条件即可实现。
示例代码
/**
* 获取用户每天发布的文章数量
*/
function get_day_post_count($user_id){
global $wpdb;
$user_id = (int) $user_id;
return $wpdb->get_var(
$wpdb->prepare( "SELECT COUNT(ID) FROM {$wpdb->posts} WHERE post_status='publish' AND post_author = %d AND post_type= 'post' AND DATE_FORMAT(post_date, '%%Y-%%m-%%d') = %s", array($user_id,date('Y-m-d', time())) )
);
}
/**
* 获取用户每月发布的文章数量
*/
function get_month_post_count($user_id){
global $wpdb;
$user_id = (int) $user_id;
return $wpdb->get_var(
$wpdb->prepare( "SELECT COUNT(ID) FROM {$wpdb->posts} WHERE post_status='publish' AND post_author = %d AND post_type= 'post' AND DATE_FORMAT(post_date, '%%Y-%%m') = %s", array($user_id,date('Y-m', time())) )
);
}
上述代码放到 functions.php 中后,在任何页面直接使用即可,上面写了两个示例函数获取用户每月和每天的发布数量,如有别的需求,可以加入更多的条件获取,例如文章类型(post_type),文章状态(post_status)等。
本文由:小天丶 发布于 小菜的IT网,转载请注明出处:https://www.xiaocaiit.cn/35.html
评论此文章
已有0人参与了评论