WordPress.org

Make WordPress Core

Ticket #13822: 13822.3.diff

File 13822.3.diff, 3.3 KB (added by wonderboymusic, 7 years ago)
  • wp-admin/includes/nav-menu.php

     
    7373                        $classes[] = 'menu-item-invalid';
    7474                        /* translators: %s: title of menu item which is invalid */
    7575                        $title = sprintf( __( '%s (Invalid)' ), $item->title );
    76                 } elseif ( isset( $item->post_status ) && 'draft' == $item->post_status ) {
    77                         $classes[] = 'pending';
    78                         /* translators: %s: title of menu item in draft status */
    79                         $title = sprintf( __('%s (Pending)'), $item->title );
     76                } elseif ( isset( $item->post_status ) ) {
     77                        if ( 'draft' == $item->post_status ) {
     78                                $original_status = get_post_status_object( $original_object->post_status );
     79                                $classes[] = "draft post-status-$original_object->post_status";
     80                                /* translators: 1: title of menu item in draft status, 2: actual post status. */
     81                                $title = sprintf( __('%1$s (%2$s)'), $item->title, $original_status->label );
     82                        } elseif ( 'pending' == $item->post_status ) {
     83                                $classes[] = 'unsaved';
     84                                /* translators: %s: title of menu item in unsaved status */
     85                                $title = sprintf( __('%s (Unsaved)'), $item->title );
     86                        }
    8087                }
    8188
    8289                $title = empty( $item->label ) ? $title : $item->label;
     
    170177                                </p>
    171178
    172179                                <div class="menu-item-actions description-wide submitbox">
    173                                         <?php if( 'custom' != $item->type && $original_title !== false ) : ?>
     180                                        <?php if ( 'custom' != $item->type && $original_title !== false ) : ?>
    174181                                                <p class="link-to-original">
    175                                                         <?php printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?>
     182                                                        <?php
     183                                                        if ( 'post_type' === $item->type ) {
     184                                                                $post_status = get_post_status( $item->object_id );
     185
     186                                                                if ( 'publish' == $post_status ) {
     187                                                                        printf( __('Original: %s'), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>', '' );
     188                                                                } else {
     189                                                                        $original_url = $item->url;
     190                                                                        if( 'trash' == $post_status ) {
     191                                                                                $original_url = add_query_arg(
     192                                                                                        array(
     193                                                                                                'post_status' => 'trash',
     194                                                                                                'post_type' => $item->object,
     195                                                                                        ),
     196                                                                                        admin_url( 'edit.php' )
     197                                                                                );
     198                                                                        }
     199                                                                        $post_status_obj = get_post_status_object( $post_status );
     200                                                                        /* translators: 1: title, 2: post status. */
     201                                                                        printf( __('Original: %1$s (%2$s)'), '<a href="' . esc_attr( $original_url ) . '">' . esc_html( $original_title ) . '</a>',
     202                                                                        $post_status_obj->label );
     203                                                                }
     204                                                        } else {
     205                                                                printf( __( 'Original: %s' ), '<a href="' . esc_attr( $item->url ) . '">' . esc_html( $original_title ) . '</a>' );
     206                                                        }
     207                                                        ?>
    176208                                                </p>
    177209                                        <?php endif; ?>
    178210                                        <a class="item-delete submitdelete deletion" id="delete-<?php echo $item_id; ?>" href="<?php
     
    11081140                }
    11091141
    11101142                if ( $some_pending_menu_items )
    1111                         $result .= '<div class="updated inline"><p>' . __('Click Save Menu to make pending menu items public.') . '</p></div>';
     1143                        $result .= '<div class="updated inline"><p>' . __('Click Save Menu to make unsaved menu items public.') . '</p></div>';
    11121144
    11131145                if ( $some_invalid_menu_items )
    11141146                        $result .= '<div class="error inline"><p>' . __('There are some invalid menu items. Please check or delete them.') . '</p></div>';