函数文档

sanitize_user_object()

💡 云策文档标注

概述

sanitize_user_object() 函数用于对用户对象或数组的所有字段进行清理,根据上下文参数调整清理程度。该函数自 WordPress 3.3.0 起已被弃用。

关键要点

  • 函数接受用户对象或数组作为参数,并可选地指定清理上下文(默认为 'display')。
  • 当上下文为 'raw' 时,仅对整数字段进行最小清理。
  • 函数内部调用 sanitize_user_field() 来清理每个字段,并设置 filter 属性为上下文值。
  • 自 WordPress 3.3.0 版本起,此函数已被标记为弃用,建议使用替代方法。

代码示例

function sanitize_user_object($user, $context = 'display') {
    _deprecated_function( __FUNCTION__, '3.3.0' );

    if ( is_object($user) ) {
        if ( !isset($user->ID) )
            $user->ID = 0;
        if ( ! ( $user instanceof WP_User ) ) {
            $vars = get_object_vars($user);
            foreach ( array_keys($vars) as $field ) {
                if ( is_string($user->$field) || is_numeric($user->$field) )
                    $user->$field = sanitize_user_field($field, $user->$field, $user->ID, $context);
            }
        }
        $user->filter = $context;
    } else {
        if ( !isset($user['ID']) )
            $user['ID'] = 0;
        foreach ( array_keys($user) as $field )
            $user[$field] = sanitize_user_field($field, $user[$field], $user['ID'], $context);
        $user['filter'] = $context;
    }

    return $user;
}

注意事项

  • 此函数已被弃用,开发者应避免在新代码中使用,并考虑更新现有代码以移除依赖。
  • 相关函数包括 sanitize_user_field() 用于基于上下文清理用户字段,以及 _deprecated_function() 用于标记弃用函数。

📄 原文内容

Sanitize every user field.

Description

If the context is ‘raw’, then the user object or array will get minimal sanitization of the int fields.

Parameters

$userobject|arrayrequired
The user object or array.
$contextstringoptional
How to sanitize user fields. Default 'display'.

Return

object|array The now sanitized user object or array (will be the same type as $user).

Source

function sanitize_user_object($user, $context = 'display') {
	_deprecated_function( __FUNCTION__, '3.3.0' );

	if ( is_object($user) ) {
		if ( !isset($user->ID) )
			$user->ID = 0;
		if ( ! ( $user instanceof WP_User ) ) {
			$vars = get_object_vars($user);
			foreach ( array_keys($vars) as $field ) {
				if ( is_string($user->$field) || is_numeric($user->$field) )
					$user->$field = sanitize_user_field($field, $user->$field, $user->ID, $context);
			}
		}
		$user->filter = $context;
	} else {
		if ( !isset($user['ID']) )
			$user['ID'] = 0;
		foreach ( array_keys($user) as $field )
			$user[$field] = sanitize_user_field($field, $user[$field], $user['ID'], $context);
		$user['filter'] = $context;
	}

	return $user;
}

Changelog

Version Description
3.3.0 Deprecated.
2.3.0 Introduced.