Make WordPress Core

Ticket #42395: 42395.0.wip.diff

File 42395.0.wip.diff, 4.1 KB (added by westonruter, 4 years ago)

https://github.com/xwp/wordpress-develop/pull/298

  • src/wp-includes/class-wp-customize-manager.php

    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 { 
    12701270                if ( ! empty( $starter_content_auto_draft_post_ids ) ) {
    12711271                        $existing_posts_query = new WP_Query( array(
    12721272                                'post__in' => $starter_content_auto_draft_post_ids,
    1273                                 'post_status' => 'auto-draft',
     1273                                'post_status' => array( 'auto-draft', 'draft' ),
    12741274                                'post_type' => $post_types,
    12751275                                'posts_per_page' => -1,
    12761276                        ) );
    final class WP_Customize_Manager { 
    14501450
    14511451                        $this->set_post_value( $nav_menu_setting_id, array(
    14521452                                'name' => isset( $nav_menu['name'] ) ? $nav_menu['name'] : $nav_menu_location,
     1453                                'description' => '',
     1454                                'parent' => 0,
     1455                                'auto_add' => false,
    14531456                        ) );
    14541457                        $this->pending_starter_content_settings_ids[] = $nav_menu_setting_id;
    14551458
    final class WP_Customize_Manager { 
    14761479                                        $nav_menu_item['object_id'] = 0;
    14771480                                }
    14781481
     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
    14791506                                if ( empty( $changeset_data[ $nav_menu_item_setting_id ] ) || ! empty( $changeset_data[ $nav_menu_item_setting_id ]['starter_content'] ) ) {
    14801507                                        $this->set_post_value( $nav_menu_item_setting_id, $nav_menu_item );
    14811508                                        $this->pending_starter_content_settings_ids[] = $nav_menu_item_setting_id;
    final class WP_Customize_Manager { 
    27362763                                $merged_setting_params = array_merge( $data[ $changeset_setting_id ], $setting_params );
    27372764
    27382765                                // 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 ) {
    27402783                                        continue;
    27412784                                }
    27422785
  • src/wp-includes/class-wp-customize-nav-menus.php

    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 { 
    317317                        $stub_post_query = new WP_Query( array_merge(
    318318                                $query,
    319319                                array(
    320                                         'post_status' => 'auto-draft',
     320                                        'post_status' => array( 'auto-draft', 'draft' ),
    321321                                        'post__in' => $nav_menus_created_posts_setting->value(),
    322322                                        'posts_per_page' => -1,
    323323                                )