mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-04-07 06:05:42 +00:00
Application Passwords: Show HTTPS required message without filtering when not enabled or not in local environment.
When `add_filter( 'wp_is_application_passwords_available', '__return_false' )` exists, HTTPS requirement message is shown even if HTTPS is enabled on the site. This happens because `wp_is_application_passwords_available_for_user()` first invokes `wp_is_application_passwords_available()` which is filterable. The situation could happen if the `'wp_is_application_passwords_available_for_user'` filter returns `false`. To fix this, the check for HTTPS (or if in a 'local' environment) is moved to a new function called `wp_is_application_passwords_supported()`. Then the return from this function is used as an OR condition for the Application Passwords section and for displaying the HTTPS required message. Tests are included for both `wp_is_application_passwords_supported()` and `wp_is_application_passwords_available()`. Follow-up to [51980], [51988]. Props davidbinda, SergeyBiryukov, ocean90, felipeelia, costdev, hellofromTonya. Fixes #53658. git-svn-id: https://develop.svn.wordpress.org/trunk@52398 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -4657,19 +4657,31 @@ function wp_get_user_request( $request_id ) {
|
||||
return new WP_User_Request( $post );
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if Application Passwords is supported.
|
||||
*
|
||||
* Application Passwords is supported only by sites using SSL or local environments
|
||||
* but may be made available using the {@see 'wp_is_application_passwords_available'} filter.
|
||||
*
|
||||
* @since 5.9.0
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function wp_is_application_passwords_supported() {
|
||||
return is_ssl() || 'local' === wp_get_environment_type();
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if Application Passwords is globally available.
|
||||
*
|
||||
* By default, Application Passwords is available to all sites using SSL or to local environments.
|
||||
* Use {@see 'wp_is_application_passwords_available'} to adjust its availability.
|
||||
* Use the {@see 'wp_is_application_passwords_available'} filter to adjust its availability.
|
||||
*
|
||||
* @since 5.6.0
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function wp_is_application_passwords_available() {
|
||||
$available = is_ssl() || 'local' === wp_get_environment_type();
|
||||
|
||||
/**
|
||||
* Filters whether Application Passwords is available.
|
||||
*
|
||||
@@ -4677,7 +4689,7 @@ function wp_is_application_passwords_available() {
|
||||
*
|
||||
* @param bool $available True if available, false otherwise.
|
||||
*/
|
||||
return apply_filters( 'wp_is_application_passwords_available', $available );
|
||||
return apply_filters( 'wp_is_application_passwords_available', wp_is_application_passwords_supported() );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user