WordPress.org

Make WordPress Core

Ticket #38015: 38015.0.diff

File 38015.0.diff, 1.7 KB (added by westonruter, 4 years ago)
  • src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php

    diff --git src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php
    index c71ab09..fb89efe 100644
    class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting { 
    534534                $item->menu_order = $item->position;
    535535                unset( $item->position );
    536536
     537                if ( empty( $item->title ) ) {
     538                        if ( 'post_type' === $item->type && ! empty( $item->object_id ) ) {
     539                                $original_object = get_post( $item->object_id );
     540                                if ( $original_object ) {
     541                                        /** This filter is documented in wp-includes/post-template.php */
     542                                        $original_title = apply_filters( 'the_title', $original_object->post_title, $original_object->ID );
     543
     544                                        if ( '' === $original_title ) {
     545                                                /* translators: %d: ID of a post */
     546                                                $original_title = sprintf( __( '#%d (no title)' ), $original_object->ID );
     547                                        }
     548                                        $item->title = $original_title;
     549                                }
     550                        } elseif ( 'taxonomy' === $item->type ) {
     551                                $original_title = get_term_field( 'name', $item->object_id, $item->object, 'raw' );
     552                                if ( ! is_wp_error( $original_title ) ) {
     553                                        $item->title = $original_title;
     554                                }
     555                        }
     556                }
    537557                if ( $item->title ) {
    538558                        $item->post_title = $item->title;
    539559                }
    class WP_Customize_Nav_Menu_Item_Setting extends WP_Customize_Setting { 
    554574                                } else {
    555575                                        $post->type_label = $post->object;
    556576                                }
    557                         } elseif ( 'taxonomy' == $post->type ) {
     577                        } elseif ( 'taxonomy' === $post->type ) {
    558578                                $object = get_taxonomy( $post->object );
    559579                                if ( $object ) {
    560580                                        $post->type_label = $object->labels->singular_name;