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'.
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;
}