博客 / WordPress/ WordPress 站点数据统计代码大全( 更新版)

WordPress 站点数据统计代码大全( 更新版)

WordPress 站点数据统计代码大全( 更新版)

在开发 WordPress 主题时,我们经常需要获取站点的各类统计信息,例如:全站文章数量、评论数量、标签数量、分类数量、页面数量等。这些数据对于展示站点概况或构建统计小工具非常有用。

本文将整理一系列常用的 WordPress 统计代码,方便开发者直接使用。

常用站点统计代码

1. 全站已发布文章总数

<?php
$count_posts = wp_count_posts();
echo $count_posts->publish;
?>

说明: wp_count_posts() 返回一个对象,其中 ->publish 属性即为已发布文章的数量。

2. 全站评论总数

<?php
echo get_comments_number(); // 推荐方法
// 或使用数据库查询(需全局 $wpdb)
// global $wpdb;
// echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'");
?>

说明: 推荐使用 WordPress 内置函数 get_comments_number(),它更安全且考虑了缓存。若需所有评论(含待审核),可使用数据库查询。

3. 全站标签总数

<?php
$tags = wp_count_terms('post_tag');
echo (is_wp_error($tags)) ? 0 : $tags;
?>

说明: 使用 wp_count_terms() 并检查返回值是否为 WP_Error 对象,以提高代码健壮性。

4. 全站分类总数

<?php
$categories = wp_count_terms('category');
echo (is_wp_error($categories)) ? 0 : $categories;
?>

5. 全站已发布页面总数

<?php
$count_pages = wp_count_posts('page');
echo $count_pages->publish;
?>

6. 全站用户总数

<?php
$user_count = count_users();
echo $user_count['total_users'];
?>

说明: count_users() 函数返回一个数组,其中 total_users 键即为用户总数。

7. 站点运行天数

<?php
// 请将 '2020-01-01' 替换为你的站点实际开始日期
$start_date = strtotime('2020-01-01');
$days = floor((time() - $start_date) / 86400);
echo $days;
?>

说明: 计算从指定开始日期到当前时间所经过的天数。

8. 站点最后更新时间

<?php
$last_modified = get_lastpostmodified('blog');
echo $last_modified ? date('Y-m-d', strtotime($last_modified)) : '暂无更新';
?>

说明: 使用 get_lastpostmodified() 函数获取站点文章或页面的最后修改时间,更为可靠。

9. 友情链接总数(仅限链接管理器启用时)

<?php
// 需要链接管理器功能(默认未启用)
global $wpdb;
$link_count = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'");
echo $link_count;
?>

说明: 此功能依赖于已启用的“链接管理器”(在“仪表盘 -> 链接”中管理)。

进阶统计示例

获取指定分类下的文章数量

<?php
$category_id = 5; // 将 5 替换为目标分类的 ID
$category = get_category($category_id);
if ($category) {
    echo $category->count;
}
?>

获取自定义文章类型(CPT)的文章数量

<?php
$post_type = 'product'; // 将 'product' 替换为你的自定义文章类型名称
$count = wp_count_posts($post_type);
echo $count->publish;
?>

使用建议

1. 在主题文件中直接使用这些代码片段时,请确保它们位于 PHP 标签 <?php ... ?> 内。
2. 对于频繁调用的统计,建议结合 WordPress 的 Transients API 进行缓存,以提升性能。
3. 部分统计(如用户数)也可通过 wp-admin 后台的“仪表盘”查看。

通过以上代码,你可以轻松地将各种统计信息集成到你的 WordPress 主题或插件中。

发表评论

您的邮箱不会公开。必填项已用 * 标注。