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人参与了评论