函数文档

wp_is_application_passwords_available_for_user()

💡 云策文档标注

概述

wp_is_application_passwords_available_for_user() 函数用于检查特定用户是否可使用应用程序密码功能。默认情况下所有用户均可使用,但可通过此函数或过滤器进行限制。

关键要点

  • 函数接受一个必需参数 $user,类型为 int 或 WP_User,用于指定要检查的用户。
  • 返回值为布尔类型,表示应用程序密码对该用户是否可用。
  • 函数内部首先检查全局可用性(通过 wp_is_application_passwords_available()),然后验证用户对象是否存在。
  • 提供过滤器 wp_is_application_passwords_available_for_user,允许开发者自定义可用性逻辑。

代码示例

function wp_is_application_passwords_available_for_user( $user ) {
    if ( ! wp_is_application_passwords_available() ) {
        return false;
    }

    if ( ! is_object( $user ) ) {
        $user = get_userdata( $user );
    }

    if ( ! $user || ! $user->exists() ) {
        return false;
    }

    return apply_filters( 'wp_is_application_passwords_available_for_user', true, $user );
}

注意事项

  • 函数在 WordPress 5.6.0 版本中引入。
  • 相关函数包括 wp_is_application_passwords_available()、get_userdata() 和 apply_filters()。
  • 在 WP_REST_Application_Passwords_Controller 和 wp_authenticate_application_password() 等场景中使用。

📄 原文内容

Checks if Application Passwords is available for a specific user.

Description

By default all users can use Application Passwords. Use ‘wp_is_application_passwords_available_for_user’ to restrict availability to certain users.

Parameters

$userint|WP_Userrequired
The user to check.

Return

bool

Source

function wp_is_application_passwords_available_for_user( $user ) {
	if ( ! wp_is_application_passwords_available() ) {
		return false;
	}

	if ( ! is_object( $user ) ) {
		$user = get_userdata( $user );
	}

	if ( ! $user || ! $user->exists() ) {
		return false;
	}

	/**
	 * Filters whether Application Passwords is available for a specific user.
	 *
	 * @since 5.6.0
	 *
	 * @param bool    $available True if available, false otherwise.
	 * @param WP_User $user      The user to check.
	 */
	return apply_filters( 'wp_is_application_passwords_available_for_user', true, $user );
}

Hooks

apply_filters( ‘wp_is_application_passwords_available_for_user’, bool $available, WP_User $user )

Filters whether Application Passwords is available for a specific user.

Changelog

Version Description
5.6.0 Introduced.