WordPress 随机显示 20 个订阅者头像教程
本文详解如何在WordPress网站中不按注册顺序、而是真正随机选取并展示20名订阅用户(Subscriber)的头像,避免使用posts_per_page或orderby=rand的常见误区,提供高效、可靠、可复用的两步查询方案。

本文详解如何在 WordPress 网站中不按注册顺序、而是真正随机选取并展示 20 名订阅用户(Subscriber)的头像,避免使用 `posts_per_page` 或 `orderby=rand` 的常见误区,提供高效、可靠、可复用的两步查询方案。
在 WordPress 开发中,若需「随机展示指定数量的用户」(如首页轮播 20 位订阅者头像),直接在 get_users() 中设置 'orderby' => 'rand' 并不可靠——该参数自 WordPress 4.7+ 起已被弃用且无效;而仅靠 'posts_per_page' => 20 配合 'orderby' => 'user_nicename' 则只会返回排序后前 20 名用户,并非随机。
正确做法是采用两阶段查询策略:先获取全部订阅用户 ID,再从中随机抽取 20 个,最后根据这些 ID 精确拉取用户数据。该方式兼顾性能与准确性,尤其适合中小型站点(用户数 ≤ 数万时毫秒级响应)。
以下是完整、可直接部署的 PHP 实现:
'subscriber',
'fields' => 'ID', // 关键:只查 ID,减少数据库负载
);
$user_ids = get_users($args_ids);
// 第二步:从 ID 数组中随机抽取 20 个(注意:若总订阅用户 < 20,array_rand 会触发警告)
if (count($user_ids) >= 20) {
$random_ids = array_rand($user_ids, 20);
} else {
// 容错:用户不足 20 时,返回全部
$random_ids = array_keys($user_ids);
}
// 第三步:根据随机 ID 获取完整用户对象(含邮箱、昵称等)
$args_users = array(
'include' => $random_ids, // 精确指定 ID 列表
'orderby' => 'user_nicename',
'order' => 'ASC',
);
$random_users = get_users($args_users);
?>
- user_email, 96); ?>
✅ 关键优势说明:
- ✅ 真正随机:array_rand() 在 PHP 层完成随机采样,结果稳定可预期;
- ✅ 性能友好:首查仅取 ID,避免加载冗余字段;二次查询 ID 数量固定(≤20),极快;
- ✅ 兼容性强:适配 WordPress 5.0+ 及主流 PHP 版本(7.4+ 推荐);
- ✅ 健壮容错:主动判断用户总数,防止 array_rand() 在小数据集下报错。
⚠️ 注意事项:
- 若网站订阅用户极少(如 < 5 人),建议搭配缓存(如 wp_cache_set/get)避免高频重复查询;
- 如需支持分页或 AJAX 动态刷新,应将 $random_ids 存入 session 或 transient,并设置合理过期时间(如 15 * MINUTE_IN_SECONDS);
- get_avatar() 默认依赖邮箱哈希,确保 $user->user_email 不为空——可在循环内加空值校验:!empty($user->user_email) ? get_avatar(...) : ''。
通过此方案,你将获得一个稳定、可维护、符合 WordPress 最佳实践的随机用户展示模块。
IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。
JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。
JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。
JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,
PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,
PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,













