--- a/wp/wp-admin/theme-install.php Thu Sep 29 08:06:27 2022 +0200
+++ b/wp/wp-admin/theme-install.php Fri Sep 05 18:40:08 2025 +0200
@@ -10,7 +10,7 @@
require_once __DIR__ . '/admin.php';
require ABSPATH . 'wp-admin/includes/theme-install.php';
-wp_reset_vars( array( 'tab' ) );
+$tab = ! empty( $_REQUEST['tab'] ) ? sanitize_text_field( $_REQUEST['tab'] ) : '';
if ( ! current_user_can( 'install_themes' ) ) {
wp_die( __( 'Sorry, you are not allowed to install themes on this site.' ) );
@@ -56,7 +56,6 @@
'l10n' => array(
'addNew' => __( 'Add New Theme' ),
'search' => __( 'Search Themes' ),
- 'searchPlaceholder' => __( 'Search themes...' ), // Placeholder (no ellipsis).
'upload' => __( 'Upload Theme' ),
'back' => __( 'Back' ),
'error' => sprintf(
@@ -70,7 +69,7 @@
'noThemesFound' => __( 'No themes found. Try a different search.' ),
'collapseSidebar' => __( 'Collapse Sidebar' ),
'expandSidebar' => __( 'Expand Sidebar' ),
- /* translators: Accessibility text. */
+ /* translators: Hidden accessibility text. */
'selectFeatureFilter' => __( 'Select one or more Theme features to filter by' ),
),
'installedThemes' => array_keys( $installed_themes ),
@@ -90,6 +89,7 @@
*
* Possible hook names include:
*
+ * - `install_themes_pre_block-themes`
* - `install_themes_pre_dashboard`
* - `install_themes_pre_featured`
* - `install_themes_pre_new`
@@ -98,6 +98,7 @@
* - `install_themes_pre_upload`
*
* @since 2.8.0
+ * @since 6.1.0 Added the `install_themes_pre_block-themes` hook name.
*/
do_action( "install_themes_pre_{$tab}" );
}
@@ -136,10 +137,24 @@
)
);
+// Help tab: Block themes.
+$help_block_themes =
+ '<p>' . __( 'A block theme is a theme that uses blocks for all parts of a site including navigation menus, header, content, and site footer. These themes are built for the features that allow you to edit and customize all parts of your site.' ) . '</p>' .
+ '<p>' . __( 'With a block theme, you can place and edit blocks without affecting your content by customizing or creating new templates.' ) . '</p>';
+
+get_current_screen()->add_help_tab(
+ array(
+ 'id' => 'block_themes',
+ 'title' => __( 'Block themes' ),
+ 'content' => $help_block_themes,
+ )
+);
+
get_current_screen()->set_help_sidebar(
'<p><strong>' . __( 'For more information:' ) . '</strong></p>' .
- '<p>' . __( '<a href="https://wordpress.org/support/article/appearance-themes-screen/#install-themes">Documentation on Adding New Themes</a>' ) . '</p>' .
- '<p>' . __( '<a href="https://wordpress.org/support/">Support</a>' ) . '</p>'
+ '<p>' . __( '<a href="https://wordpress.org/documentation/article/appearance-themes-screen/#install-themes">Documentation on Adding New Themes</a>' ) . '</p>' .
+ '<p>' . __( '<a href="https://wordpress.org/documentation/article/block-themes/">Documentation on Block Themes</a>' ) . '</p>' .
+ '<p>' . __( '<a href="https://wordpress.org/support/forums/">Support forums</a>' ) . '</p>'
);
require_once ABSPATH . 'wp-admin/admin-header.php';
@@ -167,15 +182,25 @@
<hr class="wp-header-end">
- <div class="error hide-if-js">
- <p><?php _e( 'The Theme Installer screen requires JavaScript.' ); ?></p>
- </div>
+ <?php
+ wp_admin_notice(
+ __( 'The Theme Installer screen requires JavaScript.' ),
+ array(
+ 'additional_classes' => array( 'error', 'hide-if-js' ),
+ )
+ );
+ ?>
<div class="upload-theme">
<?php install_themes_upload(); ?>
</div>
- <h2 class="screen-reader-text hide-if-no-js"><?php _e( 'Filter themes list' ); ?></h2>
+ <h2 class="screen-reader-text hide-if-no-js">
+ <?php
+ /* translators: Hidden accessibility text. */
+ _e( 'Filter themes list' );
+ ?>
+ </h2>
<div class="wp-filter hide-if-no-js">
<div class="filter-count">
@@ -185,12 +210,13 @@
<ul class="filter-links">
<li><a href="#" data-sort="popular"><?php _ex( 'Popular', 'themes' ); ?></a></li>
<li><a href="#" data-sort="new"><?php _ex( 'Latest', 'themes' ); ?></a></li>
+ <li><a href="#" data-sort="block-themes"><?php _ex( 'Block Themes', 'themes' ); ?></a></li>
<li><a href="#" data-sort="favorites"><?php _ex( 'Favorites', 'themes' ); ?></a></li>
</ul>
<button type="button" class="button drawer-toggle" aria-expanded="false"><?php _e( 'Feature Filter' ); ?></button>
- <form class="search-form"></form>
+ <form class="search-form"><p class="search-box"></p></form>
<div class="favorites-form">
<?php
@@ -246,7 +272,12 @@
</div>
</div>
</div>
- <h2 class="screen-reader-text hide-if-no-js"><?php _e( 'Themes list' ); ?></h2>
+ <h2 class="screen-reader-text hide-if-no-js">
+ <?php
+ /* translators: Hidden accessibility text. */
+ _e( 'Themes list' );
+ ?>
+ </h2>
<div class="theme-browser content-filterable"></div>
<div class="theme-install-overlay wp-full-overlay expanded"></div>
@@ -263,6 +294,7 @@
*
* Possible hook names include:
*
+ * - `install_themes_block-themes`
* - `install_themes_dashboard`
* - `install_themes_featured`
* - `install_themes_new`
@@ -271,6 +303,7 @@
* - `install_themes_upload`
*
* @since 2.8.0
+ * @since 6.1.0 Added the `install_themes_block-themes` hook name.
*
* @param int $paged Number of the current page of results being viewed.
*/
@@ -289,7 +322,15 @@
<# } #>
<# if ( data.installed ) { #>
- <div class="notice notice-success notice-alt"><p><?php _ex( 'Installed', 'theme' ); ?></p></div>
+ <?php
+ wp_admin_notice(
+ _x( 'Installed', 'theme' ),
+ array(
+ 'type' => 'success',
+ 'additional_classes' => array( 'notice-alt' ),
+ )
+ );
+ ?>
<# } #>
<# if ( ! data.compatible_wp || ! data.compatible_php ) { #>
@@ -421,9 +462,24 @@
<script id="tmpl-theme-preview" type="text/template">
<div class="wp-full-overlay-sidebar">
<div class="wp-full-overlay-header">
- <button class="close-full-overlay"><span class="screen-reader-text"><?php _e( 'Close' ); ?></span></button>
- <button class="previous-theme"><span class="screen-reader-text"><?php _e( 'Previous theme' ); ?></span></button>
- <button class="next-theme"><span class="screen-reader-text"><?php _e( 'Next theme' ); ?></span></button>
+ <button class="close-full-overlay"><span class="screen-reader-text">
+ <?php
+ /* translators: Hidden accessibility text. */
+ _e( 'Close' );
+ ?>
+ </span></button>
+ <button class="previous-theme"><span class="screen-reader-text">
+ <?php
+ /* translators: Hidden accessibility text. */
+ _e( 'Previous theme' );
+ ?>
+ </span></button>
+ <button class="next-theme"><span class="screen-reader-text">
+ <?php
+ /* translators: Hidden accessibility text. */
+ _e( 'Next theme' );
+ ?>
+ </span></button>
<# if ( data.installed ) { #>
<# if ( data.compatible_wp && data.compatible_php ) { #>
<?php