函数文档

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.

Return

array List of 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.