get_author_user_ids()
云策文档标注
概述
get_author_user_ids() 是一个已弃用的 WordPress 函数,用于获取所有用户 ID。它通过查询数据库中的用户元数据来实现,但在 3.1.0 版本后被 get_users() 替代。
关键要点
- 函数 get_author_user_ids() 已弃用,建议使用 get_users() 替代。
- 返回一个用户 ID 的数组。
- 函数内部使用 wpdb 类进行数据库查询,根据是否为多站点环境选择不同的 meta_key。
- 相关函数包括 wpdb::get_col()、wpdb::get_blog_prefix()、is_multisite()、_deprecated_function() 和 wpdb::prepare()。
代码示例
function get_author_user_ids() {
_deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' );
global $wpdb;
if ( !is_multisite() )
$level_key = $wpdb->get_blog_prefix() . 'user_level';
else
$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // WPMU site admins don't have user_levels.
return $wpdb->get_col( $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value != '0'", $level_key) );
}注意事项
- 此函数自 WordPress 3.1.0 版本起被标记为弃用,新代码应避免使用。
- 在多站点环境中,使用 'capabilities' 作为 meta_key,而非 'user_level'。
- 函数依赖于全局变量 $wpdb 和 WordPress 数据库结构,使用时需确保环境正确配置。
原文内容
Get all user IDs.
Source
function get_author_user_ids() {
_deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' );
global $wpdb;
if ( !is_multisite() )
$level_key = $wpdb->get_blog_prefix() . 'user_level';
else
$level_key = $wpdb->get_blog_prefix() . 'capabilities'; // WPMU site admins don't have user_levels.
return $wpdb->get_col( $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value != '0'", $level_key) );
}
Changelog
| Version | Description |
|---|---|
| 3.1.0 | Introduced. |