diff --git src/wp-includes/class-wp-customize-manager.php src/wp-includes/class-wp-customize-manager.php
index 12256d2173..8f65208e6c 100644
|
|
|
final class WP_Customize_Manager { |
| 1270 | 1270 | if ( ! empty( $starter_content_auto_draft_post_ids ) ) { |
| 1271 | 1271 | $existing_posts_query = new WP_Query( array( |
| 1272 | 1272 | 'post__in' => $starter_content_auto_draft_post_ids, |
| 1273 | | 'post_status' => 'auto-draft', |
| | 1273 | 'post_status' => array( 'auto-draft', 'draft' ), |
| 1274 | 1274 | 'post_type' => $post_types, |
| 1275 | 1275 | 'posts_per_page' => -1, |
| 1276 | 1276 | ) ); |
| … |
… |
final class WP_Customize_Manager { |
| 1450 | 1450 | |
| 1451 | 1451 | $this->set_post_value( $nav_menu_setting_id, array( |
| 1452 | 1452 | 'name' => isset( $nav_menu['name'] ) ? $nav_menu['name'] : $nav_menu_location, |
| | 1453 | 'description' => '', |
| | 1454 | 'parent' => 0, |
| | 1455 | 'auto_add' => false, |
| 1453 | 1456 | ) ); |
| 1454 | 1457 | $this->pending_starter_content_settings_ids[] = $nav_menu_setting_id; |
| 1455 | 1458 | |
| … |
… |
final class WP_Customize_Manager { |
| 1476 | 1479 | $nav_menu_item['object_id'] = 0; |
| 1477 | 1480 | } |
| 1478 | 1481 | |
| | 1482 | $nav_menu_item = array_merge( |
| | 1483 | // Copied from \WP_Customize_Nav_Menu_Item_Setting::$default. |
| | 1484 | array( |
| | 1485 | // The $menu_item_data for wp_update_nav_menu_item(). |
| | 1486 | 'object_id' => 0, |
| | 1487 | 'object' => '', // Taxonomy name. |
| | 1488 | 'menu_item_parent' => 0, // A.K.A. menu-item-parent-id; note that post_parent is different, and not included. |
| | 1489 | 'position' => 0, // A.K.A. menu_order. |
| | 1490 | 'type' => 'custom', // Note that type_label is not included here. |
| | 1491 | 'title' => '', |
| | 1492 | 'url' => '', |
| | 1493 | 'target' => '', |
| | 1494 | 'attr_title' => '', |
| | 1495 | 'description' => '', |
| | 1496 | 'classes' => '', |
| | 1497 | 'xfn' => '', |
| | 1498 | 'status' => 'publish', |
| | 1499 | 'original_title' => '', |
| | 1500 | 'nav_menu_term_id' => 0, // This will be supplied as the $menu_id arg for wp_update_nav_menu_item(). |
| | 1501 | '_invalid' => false, |
| | 1502 | ), |
| | 1503 | $nav_menu_item |
| | 1504 | ); |
| | 1505 | |
| 1479 | 1506 | if ( empty( $changeset_data[ $nav_menu_item_setting_id ] ) || ! empty( $changeset_data[ $nav_menu_item_setting_id ]['starter_content'] ) ) { |
| 1480 | 1507 | $this->set_post_value( $nav_menu_item_setting_id, $nav_menu_item ); |
| 1481 | 1508 | $this->pending_starter_content_settings_ids[] = $nav_menu_item_setting_id; |
| … |
… |
final class WP_Customize_Manager { |
| 2736 | 2763 | $merged_setting_params = array_merge( $data[ $changeset_setting_id ], $setting_params ); |
| 2737 | 2764 | |
| 2738 | 2765 | // Skip updating setting params if unchanged (ensuring the user_id is not overwritten). |
| 2739 | | if ( $data[ $changeset_setting_id ] === $merged_setting_params ) { |
| | 2766 | $new_params = $data[ $changeset_setting_id ]; |
| | 2767 | $old_params = $merged_setting_params; |
| | 2768 | unset( $new_params['value'], $old_params['value'] ); |
| | 2769 | $is_everything_except_value_the_same = ( $old_params === $new_params ); |
| | 2770 | |
| | 2771 | // @todo This is so ugly. |
| | 2772 | $is_value_same = false; |
| | 2773 | if ( array_key_exists( 'value', $data[ $changeset_setting_id ] ) && array_key_exists( 'value', $merged_setting_params ) ) { |
| | 2774 | $new_value = $data[ $changeset_setting_id ]['value']; |
| | 2775 | $old_value = $merged_setting_params['value']; |
| | 2776 | if ( $setting instanceof WP_Customize_Nav_Menu_Item_Setting ) { |
| | 2777 | unset( $new_value['original_title'], $old_value['original_title'] ); |
| | 2778 | unset( $new_value['type_label'], $old_value ['type_label'] ); |
| | 2779 | } |
| | 2780 | $is_value_same = ( $new_value === $old_value ); |
| | 2781 | } |
| | 2782 | if ( $is_everything_except_value_the_same && $is_value_same ) { |
| 2740 | 2783 | continue; |
| 2741 | 2784 | } |
| 2742 | 2785 | |
diff --git src/wp-includes/class-wp-customize-nav-menus.php src/wp-includes/class-wp-customize-nav-menus.php
index d178de3e24..1914ec5eda 100644
|
|
|
final class WP_Customize_Nav_Menus { |
| 317 | 317 | $stub_post_query = new WP_Query( array_merge( |
| 318 | 318 | $query, |
| 319 | 319 | array( |
| 320 | | 'post_status' => 'auto-draft', |
| | 320 | 'post_status' => array( 'auto-draft', 'draft' ), |
| 321 | 321 | 'post__in' => $nav_menus_created_posts_setting->value(), |
| 322 | 322 | 'posts_per_page' => -1, |
| 323 | 323 | ) |