WordPress 用户中心开发获取某用户发表的文章数量和评论数量
文 / @UTHEME
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";
$count = $wpdb->get_var($sql);
return ($count) ? $count-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'";
$count = $wpdb->get_var($sql);
return ($count) ? $count : 0;
}
另外,WordPress官方也提供了一个函数来直接获取用户发表的文章数量:
<?php $user_post_count = count_user_posts($user_id, $post_type); ?>
由于上面的SQL查询比较复杂,如果每次获取文章数量和评论数量都要运行一下上面的两个SQL查询,会对数据库造成一定的负载影响。为了提升性能,我们可以把这两个数据作为用户自定义字段存入数据库中,每次用户发表文章或评论的时候更新这个用户自定义字段,需要获取时再使用get_user_meta
函数获取这两个数据。

相关文章
-
盘点2023年依然好用的4款WordPress轻社区主题 2023-05-29 08:00:54
-
盘点2023年最好用的三款wordpress知识库主题 2023-05-29 08:00:26
-
个人网站选择WordPress还是Typecho? 2023-05-28 23:33:13
-
wordpress建外贸B2C独立站的五大优势 2023-05-28 23:05:49
-
盘点2023年依然好用的3款wordpress文档主题 2023-05-28 23:02:19
-
盘点2023年依然好用的3款wordpress外贸网站主题 2023-05-28 22:59:41
-
盘点2023年依然好用的3款wordpress电商主题 2023-05-28 22:56:05
-
wordpress后台地址是多少(附:后台地址修改教程) 2023-05-28 22:54:15
-
盘点2023年依然好用的3款wordpress笔记主题 2023-05-28 22:51:13
-
开源wordpress主题:kratos 介绍 2023-05-28 22:47:46