Ticket #24345: preview.diff
File preview.diff, 10.9 KB (added by , 11 years ago) |
---|
-
wp-admin/edit-form-advanced.php
71 71 5 => isset($_GET['revision']) ? sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 72 72 6 => sprintf( __('Post published. <a href="%s">View post</a>'), esc_url( get_permalink($post_ID) ) ), 73 73 7 => __('Post saved.'), 74 8 => sprintf( __('Post submitted. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID)) ) ),74 8 => sprintf( __('Post submitted. <a target="_blank" href="%s">Preview post</a>'), esc_url( get_preview_post_link( $post_ID ) ) ), 75 75 9 => sprintf( __('Post scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview post</a>'), 76 76 /* translators: Publish box date format, see http://php.net/date */ 77 77 date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ), 78 10 => sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID)) ) ),78 10 => sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), esc_url( get_preview_post_link( $post_ID ) ) ), 79 79 ); 80 80 $messages['page'] = array( 81 81 0 => '', // Unused. Messages start at index 1. … … 86 86 5 => isset($_GET['revision']) ? sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, 87 87 6 => sprintf( __('Page published. <a href="%s">View page</a>'), esc_url( get_permalink($post_ID) ) ), 88 88 7 => __('Page saved.'), 89 8 => sprintf( __('Page submitted. <a target="_blank" href="%s">Preview page</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID)) ) ),89 8 => sprintf( __('Page submitted. <a target="_blank" href="%s">Preview page</a>'), esc_url( get_preview_post_link( $post_ID ) ) ), 90 90 9 => sprintf( __('Page scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview page</a>'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ), 91 10 => sprintf( __('Page draft updated. <a target="_blank" href="%s">Preview page</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID)) ) ),91 10 => sprintf( __('Page draft updated. <a target="_blank" href="%s">Preview page</a>'), esc_url( get_preview_post_link( $post_ID ) ) ), 92 92 ); 93 93 $messages['attachment'] = array_fill( 1, 10, __( 'Media attachment updated.' ) ); // Hack, for now. 94 94 -
wp-admin/includes/ajax-actions.php
1469 1469 function wp_ajax_get_permalink() { 1470 1470 check_ajax_referer( 'getpermalink', 'getpermalinknonce' ); 1471 1471 $post_id = isset($_POST['post_id'])? intval($_POST['post_id']) : 0; 1472 wp_die( add_query_arg( array( 'preview' => 'true' ), get_permalink( $post_id )) );1472 wp_die( get_preview_post_link( $post_id ) ); 1473 1473 } 1474 1474 1475 1475 /** -
wp-admin/includes/class-wp-posts-list-table.php
678 678 if ( $post_type_object->public ) { 679 679 if ( in_array( $post->post_status, array( 'pending', 'draft', 'future' ) ) ) { 680 680 if ( $can_edit_post ) { 681 $preview_link = set_url_scheme( get_permalink( $post->ID ) ); 682 /** This filter is documented in wp-admin/includes/meta-boxes.php */ 683 $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post ); 681 $preview_link = get_preview_post_link( $post->ID ); 684 682 $actions['view'] = '<a href="' . esc_url( $preview_link ) . '" title="' . esc_attr( sprintf( __( 'Preview “%s”' ), $title ) ) . '" rel="permalink">' . __( 'Preview' ) . '</a>'; 685 683 } 686 684 } elseif ( 'trash' != $post->post_status ) { -
wp-admin/includes/meta-boxes.php
38 38 <div id="preview-action"> 39 39 <?php 40 40 if ( 'publish' == $post->post_status ) { 41 $preview_link = esc_url( get_p ermalink( $post->ID) );41 $preview_link = esc_url( get_preview_post_link( $post->ID, false ) ); 42 42 $preview_button = __( 'Preview Changes' ); 43 43 } else { 44 $preview_link = set_url_scheme( get_permalink( $post->ID ) ); 45 46 /** 47 * Filter the URI of a post preview in the post submit box. 48 * 49 * @since 2.0.5 50 * @since 4.0.0 $post parameter was added. 51 * 52 * @param string $preview_link URI the user will be directed to for a post preview. 53 * @param WP_Post $post Post object. 54 */ 55 $preview_link = esc_url( apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post ) ); 44 $preview_link = esc_url( get_preview_post_link( $post->ID ) ); 56 45 $preview_button = __( 'Preview' ); 57 46 } 58 47 ?> -
wp-admin/includes/post.php
1225 1225 1226 1226 if ( isset( $view_post ) ) { 1227 1227 if( 'draft' == $post->post_status ) { 1228 $preview_link = set_url_scheme( get_permalink( $post->ID ) ); 1229 /** This filter is documented in wp-admin/includes/meta-boxes.php */ 1230 $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post ); 1228 $preview_link = get_preview_post_link( $post->ID ); 1231 1229 $return .= "<span id='view-post-btn'><a href='" . esc_url( $preview_link ) . "' class='button button-small' target='wp-preview-{$post->ID}'>$view_post</a></span>\n"; 1232 1230 } else { 1233 1231 $return .= "<span id='view-post-btn'><a href='" . get_permalink( $post ) . "' class='button button-small'>$view_post</a></span>\n"; … … 1399 1397 1400 1398 if ( $locked ) { 1401 1399 if ( get_post_type_object( $post->post_type )->public ) { 1402 $ preview_link = set_url_scheme( add_query_arg( 'preview', 'true', get_permalink( $post->ID ) ));1400 $query_args = array( 'preview' => 'true' ); 1403 1401 1404 1402 if ( 'publish' == $post->post_status || $user->ID != $post->post_author ) { 1405 1403 // Latest content is in autosave 1406 1404 $nonce = wp_create_nonce( 'post_preview_' . $post->ID ); 1407 $preview_link = add_query_arg( array( 'preview_id' => $post->ID, 'preview_nonce' => $nonce ), $preview_link ); 1405 $query_args['preview_id'] = $post->ID; 1406 $query_args['preview_nonce'] = $nonce; 1408 1407 } 1409 1408 } else { 1410 $ preview_link = '';1409 $query_args = false; 1411 1410 } 1412 1411 1413 /** This filter is documented in wp-admin/includes/meta-boxes.php */ 1414 $preview_link = apply_filters( 'preview_post_link', $preview_link, $post ); 1412 $preview_link = get_preview_post_link( $post->ID, $query_args ); 1415 1413 1416 1414 /** 1417 1415 * Filter whether to allow the post lock to be overridden. … … 1610 1608 $query_args['post_format'] = empty( $_POST['post_format'] ) ? 'standard' : sanitize_key( $_POST['post_format'] ); 1611 1609 } 1612 1610 1613 $url = add_query_arg( $query_args, get_permalink( $post->ID ) ); 1614 1615 /** This filter is documented in wp-admin/includes/meta-boxes.php */ 1616 return apply_filters( 'preview_post_link', $url, $post ); 1611 return get_preview_post_link( $post->ID, $query_args ); 1617 1612 } 1618 1613 1619 1614 /** -
wp-includes/admin-bar.php
494 494 && ( $post_type_object->show_in_admin_bar ) ) 495 495 { 496 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 ), $post ); 497 $preview_link = get_preview_post_link( $post->ID ); 500 498 $wp_admin_bar->add_menu( array( 501 499 'id' => 'preview', 502 500 'title' => $post_type_object->labels->view_item, -
wp-includes/link-template.php
1151 1151 } 1152 1152 1153 1153 /** 1154 * Retrieve preview post link. 1155 * 1156 * Get the preview post URL. Allow any number of query args to be appended. 1157 * 1158 * @since 4.1.0 1159 * 1160 * @param int $id Optional. Post ID. 1161 * @param mixed boolean/array $preview Optional. If preview query arg should be added. Or array of query args to be added. 1162 * @param string boolean/array $preview_link Optional. If a link other than the permalink should be used. Used by _wp_link_page. 1163 * @return string 1164 */ 1165 function get_preview_post_link( $id = 0, $preview = true, $preview_link = '' ) { 1166 if ( ! $post = get_post( $id ) ) 1167 return; 1168 1169 if( get_post_type_object( $post->post_type )->public ) { 1170 1171 if( ! $preview_link ) 1172 $preview_link = get_permalink( $post->ID ); 1173 1174 if( $preview ) { 1175 $query_args = is_array( $preview ) ? $preview : array( 'preview' => 'true' ); 1176 1177 $preview_link = add_query_arg( $query_args, $preview_link ); 1178 } 1179 } 1180 1181 /** 1182 * Filter the URI of a post preview in the post submit box. 1183 * 1184 * @since 2.0.5 1185 * @since 4.0.0 $post parameter was added. 1186 * 1187 * @param string $preview_link URI the user will be directed to for a post preview. 1188 * @param WP_Post $post Post object. 1189 */ 1190 return apply_filters( 'preview_post_link', $preview_link, $post ); 1191 } 1192 1193 /** 1154 1194 * Retrieve edit posts link for post. 1155 1195 * 1156 1196 * Can be used within the WordPress loop or outside of it. Can be used with -
wp-includes/post-template.php
840 840 function _wp_link_page( $i ) { 841 841 global $wp_rewrite; 842 842 $post = get_post(); 843 $query_args = array(); 843 844 844 845 if ( 1 == $i ) { 845 846 $url = get_permalink(); … … 853 854 } 854 855 855 856 if ( is_preview() ) { 856 $url = add_query_arg( array(857 'preview' => 'true'858 ), $url );859 857 858 $query_args['preview'] = 'true'; 859 860 860 if ( ( 'draft' !== $post->post_status ) && isset( $_GET['preview_id'], $_GET['preview_nonce'] ) ) { 861 $url = add_query_arg( array( 862 'preview_id' => wp_unslash( $_GET['preview_id'] ), 863 'preview_nonce' => wp_unslash( $_GET['preview_nonce'] ) 864 ), $url ); 861 $query_args['preview_id'] = wp_unslash( $_GET['preview_id'] ); 862 $query_args['preview_nonce'] = wp_unslash( $_GET['preview_nonce'] ); 865 863 } 864 865 $url = get_preview_post_link( $post->ID, $query_args, $url ); 866 866 } 867 867 868 868 return '<a href="' . esc_url( $url ) . '">';