函数文档

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.