WordPress.org

Make WordPress Core

Ticket #13822: 13822.4.diff

File 13822.4.diff, 4.0 KB (added by wonderboymusic, 5 years ago)
  • wp-admin/includes/nav-menu.php

    diff --git wp-admin/includes/nav-menu.php wp-admin/includes/nav-menu.php
    index 7e9fe6a..6889c97 100644
    class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { 
    7272                        $classes[] = 'menu-item-invalid';
    7373                        /* translators: %s: title of menu item which is invalid */
    7474                        $title = sprintf( __( '%s (Invalid)' ), $item->title );
    75                 } elseif ( isset( $item->post_status ) && 'draft' == $item->post_status ) {
    76                         $classes[] = 'pending';
    77                         /* translators: %s: title of menu item in draft status */
    78                         $title = sprintf( __('%s (Pending)'), $item->title );
     75                } elseif ( isset( $item->post_status ) ) {
     76                        if ( 'draft' == $item->post_status ) {
     77                                $original_status = get_post_status_object( $original_object->post_status );
     78                                $classes[] = "draft post-status-$original_object->post_status";
     79                                /* translators: 1: title of menu item in draft status, 2: actual post status. */
     80                                $title = sprintf( __('%1$s (%2$s)'), $item->title, $original_status->label );
     81                        } elseif ( 'pending' == $item->post_status ) {
     82                                $classes[] = 'unsaved';
     83                                /* translators: %s: title of menu item in unsaved status */
     84                                $title = sprintf( __('%s (Unsaved)'), $item->title );
     85                        }
    7986                }
    8087
    8188                $title = ( ! isset( $item->label ) || '' == $item->label ) ? $title : $item->label;
    class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { 
    184191                                </p>
    185192
    186193                                <div class="menu-item-actions description-wide submitbox">
    187                                         <?php if( 'custom' != $item->type && $original_title !== false ) : ?>
     194                                        <?php if ( 'custom' != $item->type && $original_title !== false ) : ?>
    188195                                                <p class="link-to-original">
    189                                                         <?php printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?>
     196                                                        <?php
     197                                                        if ( 'post_type' === $item->type ) {
     198                                                                $post_status = get_post_status( $item->object_id );
     199
     200                                                                if ( 'publish' == $post_status ) {
     201                                                                        printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>', '' );
     202                                                                } else {
     203                                                                        $original_url = $item->url;
     204                                                                        if( 'trash' == $post_status ) {
     205                                                                                $original_url = add_query_arg(
     206                                                                                        array(
     207                                                                                                'post_status' => 'trash',
     208                                                                                                'post_type' => $item->object,
     209                                                                                        ),
     210                                                                                        admin_url( 'edit.php' )
     211                                                                                );
     212                                                                        }
     213                                                                        $post_status_obj = get_post_status_object( $post_status );
     214                                                                        /* translators: 1: title, 2: post status. */
     215                                                                        printf( __('Original: %1$s (%2$s)'), '<a href="' . esc_attr( $original_url ) . '">' . esc_html( $original_title ) . '</a>',
     216                                                                        $post_status_obj->label );
     217                                                                }
     218                                                        } else {
     219                                                                printf( __( 'Original: %s' ), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' );
     220                                                        }
     221                                                        ?>
    190222                                                </p>
    191223                                        <?php endif; ?>
    192224                                        <a class="item-delete submitdelete deletion" id="delete-<?php echo $item_id; ?>" href="<?php
    function wp_get_nav_menu_to_edit( $menu_id = 0 ) { 
    11511183                }
    11521184
    11531185                if ( $some_pending_menu_items )
    1154                         $result .= '<div class="updated inline"><p>' . __('Click Save Menu to make pending menu items public.') . '</p></div>';
     1186                        $result .= '<div class="updated inline"><p>' . __( 'Click Save Menu to make unsaved menu items public.' ) . '</p></div>';
    11551187
    11561188                if ( $some_invalid_menu_items )
    1157                         $result .= '<div class="error inline"><p>' . __('There are some invalid menu items. Please check or delete them.') . '</p></div>';
     1189                        $result .= '<div class="error inline"><p>' . __( 'There are some invalid menu items. Please check or delete them.' ) . '</p></div>';
    11581190
    11591191                $result .= '<ul class="menu" id="menu-to-edit"> ';
    1160                 $result .= walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $menu_items), 0, (object) array('walker' => $walker ) );
     1192                $result .= walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $menu_items ), 0, (object) array( 'walker' => $walker ) );
    11611193                $result .= ' </ul> ';
    11621194                return $result;
    11631195        } elseif ( is_wp_error( $menu ) ) {