From cd65bc61033f55cf8c62a3256767f645350d714a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Zieli=C5=84ski?= Date: Wed, 7 Apr 2021 16:39:13 +0200 Subject: [PATCH 1/4] Add allowedHtmlTags --- src/wp-admin/edit-form-blocks.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/wp-admin/edit-form-blocks.php b/src/wp-admin/edit-form-blocks.php index c2d6b8b965af2..f3ccfe89c00bf 100644 --- a/src/wp-admin/edit-form-blocks.php +++ b/src/wp-admin/edit-form-blocks.php @@ -312,6 +312,7 @@ 'alignWide' => $align_wide, 'availableTemplates' => $available_templates, 'allowedBlockTypes' => $allowed_block_types, + 'allowedHtmlTags' => wp_kses_allowed_html(), 'disableCustomColors' => get_theme_support( 'disable-custom-colors' ), 'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ), 'disableCustomGradients' => get_theme_support( 'disable-custom-gradients' ), From 77e8df6dcf8a29ba4c4f70c8910b1cf3e3bbbfda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Zieli=C5=84ski?= Date: Sat, 13 Nov 2021 20:47:26 +0100 Subject: [PATCH 2/4] Rename fse_navigation_areas to wp_navigation_areas --- src/wp-includes/blocks/navigation.php | 2 +- src/wp-includes/navigation-areas.php | 27 +++++++++++++++++-- ...rest-block-navigation-areas-controller.php | 6 ++--- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/wp-includes/blocks/navigation.php b/src/wp-includes/blocks/navigation.php index bbaa8794be985..be67f1ea4279c 100644 --- a/src/wp-includes/blocks/navigation.php +++ b/src/wp-includes/blocks/navigation.php @@ -147,7 +147,7 @@ function render_block_core_navigation( $attributes, $content, $block ) { if ( ! empty( $block->context['navigationArea'] ) ) { $area = $block->context['navigationArea']; - $mapping = get_option( 'fse_navigation_areas', array() ); + $mapping = _wp_get_navigation_areas_menus(); if ( ! empty( $mapping[ $area ] ) ) { $attributes['navigationMenuId'] = $mapping[ $area ]; } diff --git a/src/wp-includes/navigation-areas.php b/src/wp-includes/navigation-areas.php index e2d7460c3815a..7bf10540cd8a3 100644 --- a/src/wp-includes/navigation-areas.php +++ b/src/wp-includes/navigation-areas.php @@ -78,7 +78,7 @@ function _wp_migrate_menu_to_navigation_post( $new_name, WP_Theme $new_theme, WP add_filter( 'option_stylesheet', $get_old_theme_stylesheet ); $locations = get_nav_menu_locations(); - $area_mapping = get_option( 'fse_navigation_areas', array() ); + $area_mapping = _wp_get_navigation_areas_menus(); foreach ( $locations as $location_name => $menu_id ) { // Get the menu from the location, skipping if there is no @@ -124,15 +124,38 @@ function _wp_migrate_menu_to_navigation_post( $new_name, WP_Theme $new_theme, WP 'post_status' => 'publish', ); $navigation_post_id = wp_insert_post( $post_data ); + // If wp_insert_post fails *at any time*, then bale out of the entire + // migration attempt returning the WP_Error object. + if ( is_wp_error( $navigation_post_id ) ) { + return $navigation_post_id; + } } $area_mapping[ $location_name ] = $navigation_post_id; } remove_filter( 'option_stylesheet', $get_old_theme_stylesheet ); - update_option( 'fse_navigation_areas', $area_mapping ); + update_option( 'wp_navigation_areas', $area_mapping ); } +/** + * Retrieves navigation areas. + * + * @return array Navigation areas. + */ +function _wp_get_navigation_areas_menus() { + $areas = get_option( 'wp_navigation_areas', array() ); + if ( ! $areas ) { + // Original key used `fse` prefix but Core options should use `wp`. + // We fallback to the legacy option to catch sites with values in the + // original location. + $legacy_option_key = 'fse_navigation_areas'; + $areas = get_option( $legacy_option_key, array() ); + } + return $areas; +} + + /** * Returns the menu items for a WordPress menu location. * diff --git a/src/wp-includes/rest-api/endpoints/class-wp-rest-block-navigation-areas-controller.php b/src/wp-includes/rest-api/endpoints/class-wp-rest-block-navigation-areas-controller.php index ef515f5970615..cb3005ef83fc8 100644 --- a/src/wp-includes/rest-api/endpoints/class-wp-rest-block-navigation-areas-controller.php +++ b/src/wp-includes/rest-api/endpoints/class-wp-rest-block-navigation-areas-controller.php @@ -177,9 +177,9 @@ public function get_item( $request ) { public function update_item( $request ) { $name = $request['area']; - $mapping = get_option( 'fse_navigation_areas', array() ); + $mapping = _wp_get_navigation_areas_menus(); $mapping[ $name ] = $request['navigation']; - update_option( 'fse_navigation_areas', $mapping ); + update_option( 'wp_navigation_areas', $mapping ); $area = $this->get_navigation_area_object( $name ); $data = $this->prepare_item_for_response( $area, $request ); @@ -196,7 +196,7 @@ public function update_item( $request ) { */ protected function get_navigation_area_object( $name ) { $available_areas = get_navigation_areas(); - $mapping = get_option( 'fse_navigation_areas', array() ); + $mapping = _wp_get_navigation_areas_menus(); $area = new stdClass(); $area->name = $name; $area->navigation = ! empty( $mapping[ $name ] ) ? $mapping[ $name ] : null; From 83b3b8bac9a12b56849ea354b8d780d8e3c01ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Zieli=C5=84ski?= Date: Sat, 13 Nov 2021 20:49:06 +0100 Subject: [PATCH 3/4] Remove a dev artifact --- src/wp-admin/edit-form-blocks.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/wp-admin/edit-form-blocks.php b/src/wp-admin/edit-form-blocks.php index 2f203c853476c..3117f00e75be6 100644 --- a/src/wp-admin/edit-form-blocks.php +++ b/src/wp-admin/edit-form-blocks.php @@ -176,10 +176,6 @@ static function( $classes ) { $editor_settings = array( 'availableTemplates' => $available_templates, - 'allowedBlockTypes' => $allowed_block_types, - 'allowedHtmlTags' => wp_kses_allowed_html(), - 'disableCustomColors' => get_theme_support( 'disable-custom-colors' ), - 'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ), 'disableCustomGradients' => get_theme_support( 'disable-custom-gradients' ), 'disablePostFormats' => ! current_theme_supports( 'post-formats' ), /** This filter is documented in wp-admin/edit-form-advanced.php */ From 903cc0e8a75702fcf986ce1c70da938a4f74e991 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Zieli=C5=84ski?= Date: Sat, 13 Nov 2021 20:51:20 +0100 Subject: [PATCH 4/4] Remove dev artifact --- src/wp-admin/edit-form-blocks.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/wp-admin/edit-form-blocks.php b/src/wp-admin/edit-form-blocks.php index 3117f00e75be6..969d138ecb99d 100644 --- a/src/wp-admin/edit-form-blocks.php +++ b/src/wp-admin/edit-form-blocks.php @@ -176,7 +176,6 @@ static function( $classes ) { $editor_settings = array( 'availableTemplates' => $available_templates, - 'disableCustomGradients' => get_theme_support( 'disable-custom-gradients' ), 'disablePostFormats' => ! current_theme_supports( 'post-formats' ), /** This filter is documented in wp-admin/edit-form-advanced.php */ 'titlePlaceholder' => apply_filters( 'enter_title_here', __( 'Add title' ), $post ),