Make WordPress Core

Ticket #24139: 24139.diff

File 24139.diff, 2.1 KB (added by aaroncampbell, 11 years ago)
  • wp-admin/includes/post.php

     
    12131213                $locked = false;
    12141214        }
    12151215
    1216         if ( $locked && ( $sendback = wp_get_referer() ) && 
     1216        if ( $locked && ( $sendback = wp_get_referer() ) &&
    12171217                false === strpos( $sendback, 'post.php' ) && false === strpos( $sendback, 'post-new.php' ) ) {
    12181218
    12191219                $sendback_text = __('Go back');
     
    12351235        <?php
    12361236
    12371237        if ( $locked ) {
    1238                 $preview_link = set_url_scheme( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) );
     1238                if ( get_post_type_object( $post->post_type )->publicly_queryable ) {
     1239                        $preview_link = set_url_scheme( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ) );
    12391240
    1240                 if ( 'publish' == $post->post_status || $user->ID != $post->post_author ) {
    1241                         // Latest content is in autosave
    1242                         $nonce = wp_create_nonce( 'post_preview_' . $post->ID );
    1243                         $preview_link = add_query_arg( array( 'preview_id' => $post->ID, 'preview_nonce' => $nonce ), $preview_link );
     1241                        if ( 'publish' == $post->post_status || $user->ID != $post->post_author ) {
     1242                                // Latest content is in autosave
     1243                                $nonce = wp_create_nonce( 'post_preview_' . $post->ID );
     1244                                $preview_link = add_query_arg( array( 'preview_id' => $post->ID, 'preview_nonce' => $nonce ), $preview_link );
     1245                        }
     1246
     1247                } else {
     1248                        $preview_link = '';
    12441249                }
    1245 
    12461250                $preview_link = apply_filters( 'preview_post_link', $preview_link );
    12471251                $override = apply_filters( 'override_post_lock', true, $post, $user );
    12481252                $tab_last = $override ? '' : ' wp-tab-last';
     
    12541258                <?php do_action( 'post_lock_text', $post ); ?>
    12551259                <p>
    12561260                <a class="button" href="<?php echo esc_url( $sendback ); ?>"><?php echo $sendback_text; ?></a>
     1261                <?php if ( ! empty( $preview_link ) ) { ?>
    12571262                <a class="button<?php echo $tab_last; ?>" href="<?php echo esc_url( $preview_link ); ?>"><?php _e('Preview'); ?></a>
    12581263                <?php
     1264                }
    12591265
    12601266                // Allow plugins to prevent some users overriding the post lock
    12611267                if ( $override ) {