diff --git a/wp-admin/menu.php b/wp-admin/menu.php index 71fd94b2e3..a756fa40f3 100644 --- a/wp-admin/menu.php +++ b/wp-admin/menu.php @@ -205,10 +205,12 @@ if ( ! is_multisite() && current_user_can( 'update_themes' ) ) { if ( wp_is_block_theme() ) { $submenu['themes.php'][6] = array( _x( 'Editor', 'site editor menu item' ), 'edit_theme_options', 'site-editor.php' ); +} else { + $submenu['themes.php'][6] = array( __( 'Patterns', 'site editor menu item' ), 'edit_theme_options', 'edit.php?post_type=wp_block' ); } if ( ! wp_is_block_theme() && current_theme_supports( 'block-template-parts' ) ) { - $submenu['themes.php'][6] = array( + $submenu['themes.php'][7] = array( __( 'Template Parts' ), 'edit_theme_options', 'site-editor.php?path=/wp_template_part/all', @@ -220,7 +222,7 @@ $customize_url = add_query_arg( 'return', urlencode( remove_query_arg( wp_remova // Hide Customize link on block themes unless a plugin or theme // is using 'customize_register' to add a setting. if ( ! wp_is_block_theme() || has_action( 'customize_register' ) ) { - $position = ( wp_is_block_theme() || current_theme_supports( 'block-template-parts' ) ) ? 7 : 6; + $position = ! wp_is_block_theme() && current_theme_supports( 'block-template-parts' ) ? 8 : 7; $submenu['themes.php'][ $position ] = array( __( 'Customize' ), 'customize', esc_url( $customize_url ), '', 'hide-if-no-customize' ); } diff --git a/wp-admin/site-editor.php b/wp-admin/site-editor.php index 6442ee562b..70d646ae51 100644 --- a/wp-admin/site-editor.php +++ b/wp-admin/site-editor.php @@ -19,16 +19,19 @@ if ( ! current_user_can( 'edit_theme_options' ) ) { ); } -if ( ! ( current_theme_supports( 'block-template-parts' ) || wp_is_block_theme() ) ) { - wp_die( __( 'The theme you are currently using is not compatible with the Site Editor.' ) ); -} - $is_template_part = isset( $_GET['postType'] ) && 'wp_template_part' === sanitize_key( $_GET['postType'] ); $is_template_part_path = isset( $_GET['path'] ) && 'wp_template_partall' === sanitize_key( $_GET['path'] ); $is_template_part_editor = $is_template_part || $is_template_part_path; +$is_patterns = isset( $_GET['postType'] ) && 'wp_block' === sanitize_key( $_GET['postType'] ); +$is_patterns_path = isset( $_GET['path'] ) && 'patterns' === sanitize_key( $_GET['path'] ); +$is_patterns_editor = $is_patterns || $is_patterns_path; -if ( ! wp_is_block_theme() && ! $is_template_part_editor ) { - wp_die( __( 'The theme you are currently using is not compatible with the Site Editor.' ) ); +if ( ! wp_is_block_theme() ) { + if ( ! current_theme_supports( 'block-template-parts' ) && $is_template_part_editor ) { + wp_die( __( 'The theme you are currently using is not compatible with the Site Editor.' ) ); + } elseif ( ! $is_patterns_editor && ! $is_template_part_editor ) { + wp_die( __( 'The theme you are currently using is not compatible with the Site Editor.' ) ); + } } // Used in the HTML title tag. diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 9373036210..416d429207 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -5395,7 +5395,7 @@ function wp_widgets_add_menu() { if ( wp_is_block_theme() || current_theme_supports( 'block-template-parts' ) ) { $submenu['themes.php'][] = array( $menu_name, 'edit_theme_options', 'widgets.php' ); } else { - $submenu['themes.php'][7] = array( $menu_name, 'edit_theme_options', 'widgets.php' ); + $submenu['themes.php'][8] = array( $menu_name, 'edit_theme_options', 'widgets.php' ); } ksort( $submenu['themes.php'], SORT_NUMERIC ); diff --git a/wp-includes/version.php b/wp-includes/version.php index 1b722b937c..26e2878776 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.5-alpha-57542'; +$wp_version = '6.5-alpha-57543'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.