wp_lostpassword_url()
云策文档标注
概述
wp_lostpassword_url() 函数用于生成用户重置丢失密码的 URL。它接受一个可选的 $redirect 参数,用于指定登录后重定向的路径,并支持多站点环境。
关键要点
- 函数返回一个字符串类型的丢失密码 URL。
- 参数 $redirect 是可选的字符串,用于设置登录后的重定向路径,默认为空。
- 在多站点环境下,函数会使用 get_site() 获取站点路径,否则使用默认的 'wp-login.php'。
- 通过 add_query_arg() 添加查询参数,并使用 network_site_url() 构建完整 URL。
- 提供 'lostpassword_url' 过滤器,允许开发者自定义生成的 URL。
代码示例
function wp_lostpassword_url( $redirect = '' ) {
$args = array(
'action' => 'lostpassword',
);
if ( ! empty( $redirect ) ) {
$args['redirect_to'] = urlencode( $redirect );
}
if ( is_multisite() ) {
$blog_details = get_site();
$wp_login_path = $blog_details->path . 'wp-login.php';
} else {
$wp_login_path = 'wp-login.php';
}
$lostpassword_url = add_query_arg( $args, network_site_url( $wp_login_path, 'login' ) );
return apply_filters( 'lostpassword_url', $lostpassword_url, $redirect );
}注意事项
- 函数自 WordPress 2.8.0 版本引入。
- 相关函数包括 get_site(), network_site_url(), is_multisite(), add_query_arg(), apply_filters()。
- 被 wp_authenticate_email_password() 和 wp_authenticate_username_password() 使用。
原文内容
Returns the URL that allows the user to reset the lost password.
Parameters
$redirectstringrequired-
Path to redirect to on login.
Source
function wp_lostpassword_url( $redirect = '' ) {
$args = array(
'action' => 'lostpassword',
);
if ( ! empty( $redirect ) ) {
$args['redirect_to'] = urlencode( $redirect );
}
if ( is_multisite() ) {
$blog_details = get_site();
$wp_login_path = $blog_details->path . 'wp-login.php';
} else {
$wp_login_path = 'wp-login.php';
}
$lostpassword_url = add_query_arg( $args, network_site_url( $wp_login_path, 'login' ) );
/**
* Filters the Lost Password URL.
*
* @since 2.8.0
*
* @param string $lostpassword_url The lost password page URL.
* @param string $redirect The path to redirect to on login.
*/
return apply_filters( 'lostpassword_url', $lostpassword_url, $redirect );
}
Hooks
- apply_filters( ‘lostpassword_url’, string $lostpassword_url, string $redirect )
-
Filters the Lost Password URL.
Changelog
| Version | Description |
|---|---|
| 2.8.0 | Introduced. |
Skip to note 4 content
Codex
Default Usage
<a href="<?php echo esc_url( wp_lostpassword_url() ); ?>" alt="<?php esc_attr_e( 'Lost Password', 'textdomain' ); ?>"> </a>Skip to note 5 content
Codex
Lost Password and redirect to current page
<a href="<?php echo esc_url( wp_lostpassword_url( get_permalink() ) ); ?>" alt="<?php esc_attr_e( 'Lost Password', 'textdomain' ); ?>"> </a>Skip to note 6 content
Codex
Lost Password and redirect to homepage
<a href="<?php echo esc_url( wp_lostpassword_url( get_home_url() ) ); ?>" alt="<?php esc_attr_e( 'Lost Password', 'textdomain' ); ?>"> </a>