+ 收藏我们

网站模板

网站模板搜索
404模板 营销型模板 外贸网站模板 单页模板 双语模板 标签大全
电话:18630701785
首页 > 站长学院 > WordPress 用户中心开发获取某用户发表的文章数量和评论数量 >

WordPress 用户中心开发获取某用户发表的文章数量和评论数量

时间:2024-08-02 11:59:36

开发 WordPress 用户中心的时候,我们需要获取 WordPress 站点中某用户发表的文章数量和评论数量,因为这两个数据使用的情况相对较少,WordPress 并没有在数据库中提供这样的数据列,我们可以直接通过 SQL 查询获取这个数据。

获取用户发表的评论数量
复制
function get_user_comments_count( $user_id ) {
    global $wpdb;
    $user_id = (int) $user_id;
    $sql     = "SELECT COUNT(*) FROM {$wpdb->comments} WHERE user_id='$user_id' AND comment_approved = 1";
    $coo     = $wpdb->get_var( $sql );
    return ( $coo ) ? $coo-1: 0;
}
获取用户发表的文章数量
复制
function num_of_author_posts( $user_id ){
    global $wpdb;
    $user_id = (int) $user_id;
    $sql     = "SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_author='$user_id' AND post_status = 'publish' ";
    $coo     = $wpdb->get_var( $sql );
    return ( $coo ) ? $coo: 0;
}
或者直接用 WordPress 官方的一个函数:

复制
<?php $user_post_count = count_user_posts( $userid , $post_type ); ?>
上面的 SQL 查询比较复杂,如果每次获取文章数量和评论数量都要运行一下上面的两个 SQL 查询,对数据库负载多少会造成一些影响。为了提升性能,我们可以把这两个数据作为一个用户自定义字段存入数据中,每次用户发表文章或评论的时候更新一下这个数据。获取的时候直接使用 get_user_meta获取这两个数据就可以了。

有问题可以加入网站技术QQ群一起交流学习

本站会员学习、解决问题QQ群(691961965)

客服微信号:lpf010888

pbootcms教程

织梦教程

站长学院

SEO

wordpress

竞价教程

信息流

Title