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)等。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论此文章
已有0人参与了评论