wp_setcookie()
云策文档标注
概述
wp_setcookie() 是一个已弃用的 WordPress 函数,用于为刚登录的用户设置 cookie。自 WordPress 2.5.0 起,建议使用 wp_set_auth_cookie() 替代。
关键要点
- 函数 wp_setcookie() 已弃用,不应在新代码中使用。
- 替代函数为 wp_set_auth_cookie(),用于设置用户认证 cookie。
- 函数内部调用 get_user_by() 获取用户信息,并传递用户 ID 给 wp_set_auth_cookie()。
- 使用 _deprecated_function() 标记弃用状态。
代码示例
function wp_setcookie(
$username,
#[SensitiveParameter]
$password = '',
$already_md5 = false,
$home = '',
$siteurl = '',
$remember = false
) {
_deprecated_function( __FUNCTION__, '2.5.0', 'wp_set_auth_cookie()' );
$user = get_user_by('login', $username);
wp_set_auth_cookie($user->ID, $remember);
}注意事项
- 参数 $password 标记为敏感参数,但函数已弃用,实际未使用密码进行认证。
- 函数自 WordPress 2.5.0 版本弃用,历史版本中引入于 1.5.0。
- 开发者应更新代码,直接使用 wp_set_auth_cookie() 以避免兼容性问题。
原文内容
Sets a cookie for a user who just logged in. This function is deprecated.
Description
See also
Parameters
$usernamestringrequired-
The user’s username
$passwordstringoptional-
The user’s password
$already_md5booloptional-
Whether the password has already been through MD5
Default:
false $homestringoptional-
Will be used instead of COOKIEPATH if set
$siteurlstringoptional-
Will be used instead of SITECOOKIEPATH if set
$rememberbooloptional-
Remember that the user is logged in
Default:
false
Source
function wp_setcookie(
$username,
#[SensitiveParameter]
$password = '',
$already_md5 = false,
$home = '',
$siteurl = '',
$remember = false
) {
_deprecated_function( __FUNCTION__, '2.5.0', 'wp_set_auth_cookie()' );
$user = get_user_by('login', $username);
wp_set_auth_cookie($user->ID, $remember);
}
Changelog
| Version | Description |
|---|---|
| 2.5.0 | Deprecated. Use wp_set_auth_cookie() |
| 1.5.0 | Introduced. |