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)等。

版权声明:小天 发表于 2022年7月31日 下午10:23。
转载请注明:WordPress获取文章发布数可限制用户时间段等条件筛选 | 小菜的IT网

相关文章