diff --git a/src/wp-admin/includes/image-edit.php b/src/wp-admin/includes/image-edit.php index 739b09f9a1fca..1115da2111d2c 100644 --- a/src/wp-admin/includes/image-edit.php +++ b/src/wp-admin/includes/image-edit.php @@ -39,9 +39,21 @@ function wp_image_editor( $post_id, $msg = false ) { if ( $msg ) { if ( isset( $msg->error ) ) { - $note = ""; + $note = wp_get_admin_notice( + $msg->error, + array( + 'type' => 'error', + 'attributes' => array( 'role' => 'alert' ), + ) + ); } elseif ( isset( $msg->msg ) ) { - $note = ""; + $note = wp_get_admin_notice( + $msg->msg, + array( + 'type' => 'success', + 'attributes' => array( 'role' => 'alert' ), + ) + ); } } diff --git a/src/wp-admin/includes/update.php b/src/wp-admin/includes/update.php index 2d3ccfbbb3e0f..cbbed33d436f1 100644 --- a/src/wp-admin/includes/update.php +++ b/src/wp-admin/includes/update.php @@ -508,22 +508,20 @@ function wp_plugin_update_row( $file, $plugin_data ) { $requires_php = isset( $response->requires_php ) ? $response->requires_php : null; $compatible_php = is_php_version_compatible( $requires_php ); - $notice_type = $compatible_php ? 'notice-warning' : 'notice-error'; + $notice_type = $compatible_php ? 'warning' : 'error'; printf( '' . - '' . - '

', + '', $active_class, esc_attr( $plugin_slug . '-update' ), esc_attr( $plugin_slug ), esc_attr( $file ), - esc_attr( $wp_list_table->get_column_count() ), - $notice_type + esc_attr( $wp_list_table->get_column_count() ) ); if ( ! current_user_can( 'update_plugins' ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number. */ __( 'There is a new version of %1$s available. View version %4$s details.' ), $plugin_name, @@ -536,7 +534,7 @@ function wp_plugin_update_row( $file, $plugin_data ) { esc_attr( $response->new_version ) ); } elseif ( empty( $response->package ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number. */ __( 'There is a new version of %1$s available. View version %4$s details. Automatic update is unavailable for this plugin.' ), $plugin_name, @@ -550,7 +548,7 @@ function wp_plugin_update_row( $file, $plugin_data ) { ); } else { if ( $compatible_php ) { - printf( + $compatibility_notice .= sprintf( /* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */ __( 'There is a new version of %1$s available. View version %4$s details or update now.' ), $plugin_name, @@ -569,7 +567,7 @@ function wp_plugin_update_row( $file, $plugin_data ) { ) ); } else { - printf( + $compatibility_notice .= sprintf( /* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number 5: URL to Update PHP page. */ __( 'There is a new version of %1$s available, but it does not work with your version of PHP. View version %4$s details or learn more about updating PHP.' ), $plugin_name, @@ -582,42 +580,48 @@ function wp_plugin_update_row( $file, $plugin_data ) { esc_attr( $response->new_version ), esc_url( wp_get_update_php_url() ) ); - wp_update_php_annotation( '
', '' ); + $compatibility_notice .= wp_update_php_annotation( '
', '', false ); } } - /** - * Fires at the end of the update message container in each - * row of the plugins list table. - * - * The dynamic portion of the hook name, `$file`, refers to the path - * of the plugin's primary file relative to the plugins directory. - * - * @since 2.8.0 - * - * @param array $plugin_data An array of plugin metadata. See get_plugin_data() - * and the {@see 'plugin_row_meta'} filter for the list - * of possible values. - * @param object $response { - * An object of metadata about the available plugin update. - * - * @type string $id Plugin ID, e.g. `w.org/plugins/[plugin-name]`. - * @type string $slug Plugin slug. - * @type string $plugin Plugin basename. - * @type string $new_version New plugin version. - * @type string $url Plugin URL. - * @type string $package Plugin update package URL. - * @type string[] $icons An array of plugin icon URLs. - * @type string[] $banners An array of plugin banner URLs. - * @type string[] $banners_rtl An array of plugin RTL banner URLs. - * @type string $requires The version of WordPress which the plugin requires. - * @type string $tested The version of WordPress the plugin is tested against. - * @type string $requires_php The version of PHP which the plugin requires. - * } - */ - do_action( "in_plugin_update_message-{$file}", $plugin_data, $response ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores - - echo '

'; + wp_admin_notice( + /** + * Fires at the end of the update message container in each + * row of the plugins list table. + * + * The dynamic portion of the hook name, `$file`, refers to the path + * of the plugin's primary file relative to the plugins directory. + * + * @since 2.8.0 + * + * @param array $plugin_data An array of plugin metadata. See get_plugin_data() + * and the {@see 'plugin_row_meta'} filter for the list + * of possible values. + * @param object $response { + * An object of metadata about the available plugin update. + * + * @type string $id Plugin ID, e.g. `w.org/plugins/[plugin-name]`. + * @type string $slug Plugin slug. + * @type string $plugin Plugin basename. + * @type string $new_version New plugin version. + * @type string $url Plugin URL. + * @type string $package Plugin update package URL. + * @type string[] $icons An array of plugin icon URLs. + * @type string[] $banners An array of plugin banner URLs. + * @type string[] $banners_rtl An array of plugin RTL banner URLs. + * @type string $requires The version of WordPress which the plugin requires. + * @type string $tested The version of WordPress the plugin is tested against. + * @type string $requires_php The version of PHP which the plugin requires. + * } + */ + $compatibility_notice . do_action( "in_plugin_update_message-{$file}", $plugin_data, $response ), // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores, + array( + 'type' => $notice_type, + 'additional_classes' => array( 'update-message', 'inline', 'notice-alt' ), + 'paragraph_wrap' => false, + ) + ); + echo ''; } } @@ -706,8 +710,7 @@ function wp_theme_update_row( $theme_key, $theme ) { printf( '' . - '' . - '

', + '', $active, esc_attr( $theme->get_stylesheet() . '-update' ), esc_attr( $theme->get_stylesheet() ), @@ -716,7 +719,7 @@ function wp_theme_update_row( $theme_key, $theme ) { if ( $compatible_wp && $compatible_php ) { if ( ! current_user_can( 'update_themes' ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number. */ __( 'There is a new version of %1$s available. View version %4$s details.' ), $theme['Name'], @@ -729,7 +732,7 @@ function wp_theme_update_row( $theme_key, $theme ) { $response['new_version'] ); } elseif ( empty( $response['package'] ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number. */ __( 'There is a new version of %1$s available. View version %4$s details. Automatic update is unavailable for this theme.' ), $theme['Name'], @@ -742,7 +745,7 @@ function wp_theme_update_row( $theme_key, $theme ) { $response['new_version'] ); } else { - printf( + $compatibility_notice .= sprintf( /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */ __( 'There is a new version of %1$s available. View version %4$s details or update now.' ), $theme['Name'], @@ -763,84 +766,90 @@ function wp_theme_update_row( $theme_key, $theme ) { } } else { if ( ! $compatible_wp && ! $compatible_php ) { - printf( + $compatibility_notice .= sprintf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your versions of WordPress and PHP.' ), $theme['Name'] ); if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */ ' ' . __( 'Please update WordPress, and then learn more about updating PHP.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); - wp_update_php_annotation( '

', '' ); + $compatibility_notice .= wp_update_php_annotation( '

', '', false ); } elseif ( current_user_can( 'update_core' ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); - wp_update_php_annotation( '

', '' ); + $compatibility_notice .= wp_update_php_annotation( '

', '', false ); } } elseif ( ! $compatible_wp ) { - printf( + $compatibility_notice .= sprintf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your version of WordPress.' ), $theme['Name'] ); if ( current_user_can( 'update_core' ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } } elseif ( ! $compatible_php ) { - printf( + $compatibility_notice .= sprintf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your version of PHP.' ), $theme['Name'] ); if ( current_user_can( 'update_php' ) ) { - printf( + $compatibility_notice .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); - wp_update_php_annotation( '

', '' ); + $compatibility_notice .= wp_update_php_annotation( '

', '', false ); } } } - /** - * Fires at the end of the update message container in each - * row of the themes list table. - * - * The dynamic portion of the hook name, `$theme_key`, refers to - * the theme slug as found in the WordPress.org themes repository. - * - * @since 3.1.0 - * - * @param WP_Theme $theme The WP_Theme object. - * @param array $response { - * An array of metadata about the available theme update. - * - * @type string $new_version New theme version. - * @type string $url Theme URL. - * @type string $package Theme update package URL. - * } - */ - do_action( "in_theme_update_message-{$theme_key}", $theme, $response ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores - - echo '

'; + wp_admin_notice( + /** + * Fires at the end of the update message container in each + * row of the themes list table. + * + * The dynamic portion of the hook name, `$theme_key`, refers to + * the theme slug as found in the WordPress.org themes repository. + * + * @since 3.1.0 + * + * @param WP_Theme $theme The WP_Theme object. + * @param array $response { + * An array of metadata about the available theme update. + * + * @type string $new_version New theme version. + * @type string $url Theme URL. + * @type string $package Theme update package URL. + * } + */ + $compatibility_notice . do_action( "in_theme_update_message-{$theme_key}", $theme, $response ), // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores + array( + 'type' => 'warning', + 'additional_classes' => array( 'update-message', 'inline', 'notice-alt' ), + 'paragraph_wrap' => false, + ) + ); + echo ''; } /** diff --git a/src/wp-admin/themes.php b/src/wp-admin/themes.php index 31a2e26d64794..f15eb0c2b3409 100644 --- a/src/wp-admin/themes.php +++ b/src/wp-admin/themes.php @@ -821,13 +821,21 @@ function wp_theme_auto_update_setting_template() { <# if ( data.hasUpdate ) { #> <# if ( data.updateResponse.compatibleWP && data.updateResponse.compatiblePHP ) { #> -

- <# if ( data.hasPackage ) { #> - Update now' ); ?> - <# } else { #> - - <# } #> -

+ '; + $update_available .= __( 'New version available. ' ); + $update_available .= '<# } else { #>'; + $update_available .= __( 'New version available.' ); + $update_available .= '<# } #>'; + + wp_admin_notice( + $update_available, + array( + 'type' => 'warning', + 'additional_classes' => array( 'update-message', 'inline', 'notice-alt' ), + ) + ); + ?> <# } else { #>

<# if ( ! data.updateResponse.compatibleWP && ! data.updateResponse.compatiblePHP ) { #>