Make WordPress Core


Ignore:
Timestamp:
06/30/2014 10:02:01 AM (11 years ago)
Author:
SergeyBiryukov
Message:

Display consistent preview links for drafts.

props mordauk.
fixes #28350.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/admin-bar.php

    r27369 r28920  
    494494            && ( $post_type_object->show_in_admin_bar ) )
    495495        {
    496             $wp_admin_bar->add_menu( array(
    497                 'id' => 'view',
    498                 'title' => $post_type_object->labels->view_item,
    499                 'href' => get_permalink( $post->ID )
    500             ) );
     496            if( 'draft' == $post->post_status ) {
     497                $preview_link = set_url_scheme( get_permalink( $post->ID ) );
     498                /** This filter is documented in wp-admin/includes/meta-boxes.php */
     499                $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) );
     500                $wp_admin_bar->add_menu( array(
     501                    'id' => 'preview',
     502                    'title' => __( 'Preview' ),
     503                    'href' => esc_url( $preview_link ),
     504                    'meta' => array( 'target' => 'wp-preview-' . $post->ID ),
     505                ) );
     506            } else {
     507                $wp_admin_bar->add_menu( array(
     508                    'id' => 'view',
     509                    'title' => $post_type_object->labels->view_item,
     510                    'href' => get_permalink( $post->ID )
     511                ) );
     512            }
    501513        } elseif ( 'edit-tags' == $current_screen->base
    502514            && isset( $tag ) && is_object( $tag )
Note: See TracChangeset for help on using the changeset viewer.