函数文档

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.

Return

string Lost password URL.

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.

User Contributed Notes