diff --git wp-admin/includes/post-formats.php wp-admin/includes/post-formats.php
index 1ea5b34..2db8b18 100644
|
|
|
$format_meta = get_post_format_meta( $post_ID );
|
| 11 | 11 | |
| 12 | 12 | <div class="field wp-format-quote"> |
| 13 | 13 | <label for="wp_format_quote"><?php _e( 'Quote' ); ?></label> |
| 14 | | <textarea id="wp_format_quote" name="_wp_format_quote" class="widefat"><?php echo esc_textarea( $format_meta['quote'] ); ?></textarea> |
| | 14 | <textarea id="wp_format_quote" name="_format_quote" class="widefat"><?php echo esc_textarea( $format_meta['quote'] ); ?></textarea> |
| 15 | 15 | </div> |
| 16 | 16 | |
| 17 | 17 | <div class="field wp-format-quote"> |
| 18 | 18 | <label for="wp_format_quote_source"><?php _e( 'Quote source' ); ?></label> |
| 19 | | <input type="text" id="wp_format_quote_source" name="_wp_format_quote_source" value="<?php echo esc_attr( $format_meta['quote_source'] ); ?>" class="widefat" /> |
| | 19 | <input type="text" id="wp_format_quote_source" name="_format_quote_source_name" value="<?php echo esc_attr( $format_meta['quote_source_name'] ); ?>" class="widefat" /> |
| 20 | 20 | </div> |
| 21 | 21 | |
| 22 | 22 | <div class="field wp-format-image"> |
| 23 | | <?php if ( ! empty( $format_meta['image'] ) ) : ?> |
| | 23 | <?php if ( ! empty( $format_meta['image'] ) ) : |
| | 24 | $value = $format_meta['image']; |
| | 25 | ?> |
| 24 | 26 | <div id="image-preview" class="wp-format-media-preview"> |
| 25 | 27 | <?php |
| 26 | | if ( is_numeric( $format_meta['image'] ) ) { |
| 27 | | $format_meta['image'] = absint( $format_meta['image'] ); |
| | 28 | if ( is_numeric( $value ) ) { |
| | 29 | $format_meta['image'] = absint( $value ); |
| 28 | 30 | $image = wp_get_attachment_url( $format_meta['image'] ); |
| 29 | 31 | printf( '<img src="%s" alt="%s" />', esc_url( $image ), get_the_title( $format_meta['image'] ) ); |
| 30 | | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $format_meta['image'] ) ) { |
| 31 | | echo do_shortcode( $format_meta['image'] ); |
| 32 | | } elseif ( ! preg_match( '#<[^>]+>#', $format_meta['image'] ) ) { |
| 33 | | printf( '<img src="%s" alt="" />', esc_url( $format_meta['image'] ) ); |
| | 32 | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { |
| | 33 | echo do_shortcode( $value ); |
| | 34 | } elseif ( ! preg_match( '#<[^>]+>#', $value ) ) { |
| | 35 | printf( '<img src="%s" alt="" />', esc_url( $value ) ); |
| 34 | 36 | } else { |
| 35 | | echo $format_meta['image']; |
| | 37 | echo $value; |
| 36 | 38 | } |
| 37 | 39 | ?> |
| 38 | 40 | </div> |
| … |
… |
$format_meta = get_post_format_meta( $post_ID );
|
| 43 | 45 | else |
| 44 | 46 | _e( 'Image URL' ); |
| 45 | 47 | ?></label> |
| 46 | | <textarea id="wp_format_image" type="text" name="_wp_format_image" class="widefat"><?php esc_html_e( $format_meta['image'] ); ?></textarea> |
| | 48 | <textarea id="wp_format_image" type="text" name="_format_image" class="widefat"><?php esc_html_e( $format_meta['image'] ); ?></textarea> |
| 47 | 49 | <div data-format="image" class="wp-format-media-holder hide-if-no-js"> |
| 48 | 50 | <a href="#" class="wp-format-media-select" |
| 49 | 51 | data-choose="<?php esc_attr_e( 'Choose an Image' ); ?>" |
| … |
… |
$format_meta = get_post_format_meta( $post_ID );
|
| 53 | 55 | </div> |
| 54 | 56 | </div> |
| 55 | 57 | |
| 56 | | <div class="field wp-format-link wp-format-quote wp-format-image"> |
| 57 | | <label for="wp_format_url"><?php _e( 'Link URL' ); ?></label> |
| 58 | | <input type="text" id="wp_format_url" name="_wp_format_url" value="<?php echo esc_url( $format_meta['url'] ); ?>" class="widefat" /> |
| | 58 | <div class="field wp-format-link"> |
| | 59 | <label for="wp_format_link_url"><?php _e( 'Link URL' ); ?></label> |
| | 60 | <input type="text" id="wp_format_link_url" name="_format_link_url" value="<?php echo esc_url( $format_meta['link_url'] ); ?>" class="widefat" /> |
| | 61 | </div> |
| | 62 | |
| | 63 | <div class="field wp-format-quote"> |
| | 64 | <label for="wp_format_quote_source_url"><?php _e( 'Link URL' ); ?></label> |
| | 65 | <input type="text" id="wp_format_quote_source_url" name="_format_quote_source_url" value="<?php echo esc_url( $format_meta['quote_source_url'] ); ?>" class="widefat" /> |
| | 66 | </div> |
| | 67 | |
| | 68 | <div class="field wp-format-image"> |
| | 69 | <label for="wp_format_image_url"><?php _e( 'Link URL' ); ?></label> |
| | 70 | <input type="text" id="wp_format_image_url" name="_format_url" value="<?php echo esc_url( $format_meta['url'] ); ?>" class="widefat" /> |
| 59 | 71 | </div> |
| 60 | 72 | |
| 61 | 73 | <div class="field wp-format-video"> |
| 62 | | <?php if ( ! empty( $format_meta['video'] ) ): ?> |
| | 74 | <?php if ( ! empty( $format_meta['video_embed'] ) ): |
| | 75 | $value = $format_meta['video_embed']; |
| | 76 | ?> |
| 63 | 77 | <div id="video-preview" class="wp-format-media-preview"> |
| 64 | 78 | <?php |
| 65 | | if ( is_numeric( $format_meta['video'] ) ) { |
| 66 | | $url = wp_get_attachment_url( $format_meta['video'] ); |
| | 79 | if ( is_numeric( $value ) ) { |
| | 80 | $url = wp_get_attachment_url( $value ); |
| 67 | 81 | echo do_shortcode( sprintf( '[video src="%s"]', $url ) ); |
| 68 | | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $format_meta['video'] ) ) { |
| 69 | | echo do_shortcode( $format_meta['video'] ); |
| 70 | | } elseif ( ! preg_match( '#<[^>]+>#', $format_meta['video'] ) ) { |
| 71 | | if ( strstr( $format_meta['video'], home_url() ) ) |
| 72 | | echo do_shortcode( sprintf( '[video src="%s"]', $format_meta['video'] ) ); |
| | 82 | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { |
| | 83 | echo do_shortcode( $value ); |
| | 84 | } elseif ( ! preg_match( '#<[^>]+>#', $value ) ) { |
| | 85 | if ( strstr( $value, home_url() ) ) |
| | 86 | echo do_shortcode( sprintf( '[video src="%s"]', $value ) ); |
| 73 | 87 | else |
| 74 | | echo $wp_embed->autoembed( $format_meta['video'] ); |
| | 88 | echo $wp_embed->autoembed( $value ); |
| 75 | 89 | } else { |
| 76 | | echo $format_meta['video']; |
| | 90 | echo $value; |
| 77 | 91 | } |
| 78 | 92 | ?> |
| 79 | 93 | </div> |
| … |
… |
$format_meta = get_post_format_meta( $post_ID );
|
| 84 | 98 | else |
| 85 | 99 | _e( 'Video URL' ); |
| 86 | 100 | ?></label> |
| 87 | | <textarea id="wp_format_video" type="text" name="_wp_format_video" class="widefat"><?php esc_html_e( $format_meta['video'] ); ?></textarea> |
| | 101 | <textarea id="wp_format_video" type="text" name="_format_video_embed" class="widefat"><?php esc_html_e( $format_meta['video_embed'] ); ?></textarea> |
| 88 | 102 | <div data-format="video" class="wp-format-media-holder hide-if-no-js"> |
| 89 | 103 | <a href="#" class="wp-format-media-select" |
| 90 | 104 | data-choose="<?php esc_attr_e( 'Choose a Video' ); ?>" |
| … |
… |
$format_meta = get_post_format_meta( $post_ID );
|
| 95 | 109 | </div> |
| 96 | 110 | |
| 97 | 111 | <div class="field wp-format-audio"> |
| 98 | | <?php if ( ! empty( $format_meta['audio'] ) ): ?> |
| | 112 | <?php if ( ! empty( $format_meta['audio_embed'] ) ): |
| | 113 | $value = $format_meta['audio_embed']; |
| | 114 | ?> |
| 99 | 115 | <div id="audio-preview" class="wp-format-media-preview"> |
| 100 | 116 | <?php |
| 101 | | if ( is_numeric( $format_meta['audio'] ) ) { |
| 102 | | $url = wp_get_attachment_url( $format_meta['audio'] ); |
| | 117 | if ( is_numeric( $value ) ) { |
| | 118 | $url = wp_get_attachment_url( $value ); |
| 103 | 119 | echo do_shortcode( sprintf( '[audio src="%s"]', $url ) ); |
| 104 | | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $format_meta['audio'] ) ) { |
| 105 | | echo do_shortcode( $format_meta['audio'] ); |
| 106 | | } elseif ( ! preg_match( '#<[^>]+>#', $format_meta['audio'] ) ) { |
| 107 | | if ( strstr( $format_meta['audio'], home_url() ) ) |
| 108 | | echo do_shortcode( sprintf( '[audio src="%s"]', $format_meta['audio'] ) ); |
| | 120 | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { |
| | 121 | echo do_shortcode( $value ); |
| | 122 | } elseif ( ! preg_match( '#<[^>]+>#', $value ) ) { |
| | 123 | if ( strstr( $value, home_url() ) ) |
| | 124 | echo do_shortcode( sprintf( '[audio src="%s"]', $value ) ); |
| 109 | 125 | else |
| 110 | | echo $wp_embed->autoembed( $format_meta['audio'] ); |
| | 126 | echo $wp_embed->autoembed( $value ); |
| 111 | 127 | } else { |
| 112 | | echo $format_meta['audio']; |
| | 128 | echo $value; |
| 113 | 129 | } |
| 114 | 130 | ?> |
| 115 | 131 | </div> |
| … |
… |
$format_meta = get_post_format_meta( $post_ID );
|
| 120 | 136 | else |
| 121 | 137 | _e( 'Audio URL' ); |
| 122 | 138 | ?></label> |
| 123 | | <textarea id="wp_format_audio" name="_wp_format_audio" class="widefat"><?php esc_html_e( $format_meta['audio'] ); ?></textarea> |
| | 139 | <textarea id="wp_format_audio" name="_format_audio_embed" class="widefat"><?php esc_html_e( $format_meta['audio_embed'] ); ?></textarea> |
| 124 | 140 | <div data-format="audio" class="wp-format-media-holder hide-if-no-js"> |
| 125 | 141 | <a href="#" class="wp-format-media-select" data-choose="<?php esc_attr_e( 'Choose Audio' ); ?>" data-update="<?php esc_attr_e( 'Select Audio' ); ?>"> |
| 126 | 142 | <?php _e( 'Select Audio From Media Library' ) ?> |
diff --git wp-admin/includes/post.php wp-admin/includes/post.php
index 1b5ff0e..07509f9 100644
|
|
|
function edit_post( $post_data = null ) {
|
| 192 | 192 | } |
| 193 | 193 | |
| 194 | 194 | // Post Formats |
| 195 | | if ( isset( $post_data['post_format'] ) ) { |
| | 195 | if ( isset( $post_data['post_format'] ) ) |
| 196 | 196 | set_post_format( $post_ID, $post_data['post_format'] ); |
| 197 | | } |
| 198 | 197 | |
| 199 | | if ( isset( $post_data[ '_wp_format_url' ] ) ) { |
| 200 | | update_post_meta( $post_ID, '_wp_format_url', wp_slash( esc_url_raw( wp_unslash( $post_data['_wp_format_url'] ) ) ) ); |
| | 198 | $format_meta_urls = array( 'url', 'link_url', 'quote_source_url' ); |
| | 199 | foreach ( $format_meta_urls as $format_meta_url ) { |
| | 200 | $keyed = '_format_' . $format_meta_url; |
| | 201 | if ( isset( $post_data[ $keyed ] ) ) |
| | 202 | update_post_meta( $post_ID, $keyed, wp_slash( esc_url_raw( wp_unslash( $post_data[ $keyed ] ) ) ) ); |
| 201 | 203 | } |
| 202 | 204 | |
| 203 | | $format_keys = array( 'quote', 'quote_source', 'image', 'gallery', 'audio', 'video' ); |
| | 205 | $format_keys = array( 'quote', 'quote_source_name', 'image', 'gallery', 'audio_embed', 'video_embed' ); |
| 204 | 206 | |
| 205 | 207 | foreach ( $format_keys as $key ) { |
| 206 | | if ( isset( $post_data[ '_wp_format_' . $key ] ) ) { |
| | 208 | $keyed = '_format_' . $key; |
| | 209 | if ( isset( $post_data[ $keyed ] ) ) { |
| 207 | 210 | if ( current_user_can( 'unfiltered_html' ) ) |
| 208 | | update_post_meta( $post_ID, '_wp_format_' . $key, $post_data[ '_wp_format_' . $key ] ); |
| | 211 | update_post_meta( $post_ID, $keyed, $post_data[ $keyed ] ); |
| 209 | 212 | else |
| 210 | | update_post_meta( $post_ID, '_wp_format_' . $key, wp_filter_post_kses( $post_data[ '_wp_format_' . $key ] ) ); |
| | 213 | update_post_meta( $post_ID, $keyed, wp_filter_post_kses( $post_data[ $keyed ] ) ); |
| 211 | 214 | } |
| 212 | 215 | } |
| 213 | 216 | |
diff --git wp-admin/js/post-formats.js wp-admin/js/post-formats.js
index f0a601a..4c9e0ec 100644
|
|
|
|
| 1 | 1 | window.wp = window.wp || {}; |
| 2 | 2 | |
| 3 | 3 | (function($) { |
| 4 | | var container, mediaFrame, lastMimeType, lastMenu, mediaPreview, |
| 5 | | noUIFormats = ['standard', 'chat', 'status', 'aside', 'gallery'], |
| 6 | | $container = $( '.post-formats-fields' ); |
| | 4 | var container, mediaFrame, lastMimeType, mediaPreview, |
| | 5 | noUIFormats = ['standard', 'chat', 'status', 'aside', 'gallery'], |
| | 6 | $container = $( '.post-formats-fields' ); |
| 7 | 7 | |
| 8 | 8 | function switchFormatClass( format ) { |
| 9 | 9 | container.get(0).className = container.get(0).className.replace( /\bwp-format-[^ ]+/g, '' ); |
| … |
… |
window.wp = window.wp || {};
|
| 75 | 75 | // Media selection |
| 76 | 76 | $('.wp-format-media-select').click(function(event) { |
| 77 | 77 | event.preventDefault(); |
| 78 | | var $el = $(this), mime, |
| 79 | | $holder = $el.closest('.wp-format-media-holder'), |
| 80 | | $field = $( '#wp_format_' + $holder.data('format') ); |
| | 78 | var $el = $(this), mime = 'image', |
| | 79 | $holder = $el.closest('.wp-format-media-holder'), |
| | 80 | $field = $( '#wp_format_' + $holder.data('format') ); |
| 81 | 81 | |
| 82 | 82 | mime = $holder.data('format'); |
| 83 | 83 | |
diff --git wp-includes/js/autosave.js wp-includes/js/autosave.js
index 566da2d..fdc92f1 100644
|
|
|
wp.autosave.getPostData = function() {
|
| 367 | 367 | post_format = $('#post_format').val() || ''; |
| 368 | 368 | data['post_format'] = post_format == 'standard' ? '' : post_format; |
| 369 | 369 | |
| 370 | | $('.post-formats-fields').find('input[name^="_wp_format_"], textarea[name^="_wp_format_"]').each( function(i, field) { |
| | 370 | $('.post-formats-fields').find('input[name^="_format_"], textarea[name^="_format_"]').each( function(i, field) { |
| 371 | 371 | data[ field.name ] = field.value || ''; |
| 372 | 372 | }); |
| 373 | 373 | |
diff --git wp-includes/media.php wp-includes/media.php
index 6ef945b..bd52867 100644
|
|
|
function get_the_post_format_media( $type, &$post = null, $limit = 0 ) {
|
| 2074 | 2074 | |
| 2075 | 2075 | if ( has_post_format( $type, $post ) ) { |
| 2076 | 2076 | $meta = get_post_format_meta( $post->ID ); |
| 2077 | | if ( ! empty( $meta[$type] ) ) { |
| 2078 | | if ( is_integer( $meta[$type] ) ) { |
| 2079 | | $url = wp_get_attachment_url( $meta[$type] ); |
| | 2077 | if ( ! empty( $meta[$type . '_embed'] ) ) { |
| | 2078 | $value = $meta[$type . '_embed']; |
| | 2079 | if ( is_integer( $value ) ) { |
| | 2080 | $url = wp_get_attachment_url( $value ); |
| 2080 | 2081 | $shortcode = sprintf( '[%s src="%s"]', $type, $url ); |
| 2081 | | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $meta[$type] ) ) { |
| 2082 | | $shortcode = $meta[$type]; |
| 2083 | | } elseif ( preg_match( '#<[^>]+>#', $meta[$type] ) ) { |
| 2084 | | $post->format_content = $meta[$type]; |
| | 2082 | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) ) { |
| | 2083 | $shortcode = $value; |
| | 2084 | } elseif ( preg_match( '#<[^>]+>#', $value ) ) { |
| | 2085 | $post->format_content = $value; |
| 2085 | 2086 | return $post->format_content; |
| 2086 | | } elseif ( 0 === strpos( $meta[$type], 'http' ) ) { |
| 2087 | | $post->split_content = str_replace( $meta[$type], '', $post->post_content, $count ); |
| 2088 | | if ( strstr( $meta[$type], home_url() ) ) { |
| 2089 | | $shortcode = sprintf( '[%s src="%s"]', $type, $meta[$type] ); |
| | 2087 | } elseif ( 0 === strpos( $value, 'http' ) ) { |
| | 2088 | $post->split_content = str_replace( $value, '', $post->post_content, $count ); |
| | 2089 | if ( strstr( $value, home_url() ) ) { |
| | 2090 | $shortcode = sprintf( '[%s src="%s"]', $type, $value ); |
| 2090 | 2091 | } else { |
| 2091 | | $post->format_content = $wp_embed->autoembed( $meta[$type] ); |
| | 2092 | $post->format_content = $wp_embed->autoembed( $value ); |
| 2092 | 2093 | return $post->format_content; |
| 2093 | 2094 | } |
| 2094 | 2095 | } |
diff --git wp-includes/post-formats.php wp-includes/post-formats.php
index bd164af..998bb9a 100644
|
|
|
function set_post_format( $post, $format ) {
|
| 81 | 81 | * @return array The array of post format metadata. |
| 82 | 82 | */ |
| 83 | 83 | function get_post_format_meta( $post_id = 0 ) { |
| 84 | | $values = array( |
| 85 | | 'quote' => '', |
| 86 | | 'quote_source' => '', |
| 87 | | 'url' => '', |
| 88 | | 'image' => '', |
| 89 | | 'gallery' => '', |
| 90 | | 'audio' => '', |
| 91 | | 'video' => '', |
| | 84 | $meta = get_post_meta( $post_id ); |
| | 85 | $keys = array( 'quote', 'quote_source_name', 'quote_source_url', 'link_url', 'gallery', 'audio_embed', 'video_embed', 'url', 'image' ); |
| | 86 | |
| | 87 | if ( empty( $meta ) ) |
| | 88 | return array_fill_keys( $keys, '' ); |
| | 89 | |
| | 90 | $upgrade = array( |
| | 91 | '_wp_format_quote_source' => 'quote_source_name', |
| | 92 | '_wp_format_audio' => 'audio_embed', |
| | 93 | '_wp_format_video' => 'video_embed' |
| 92 | 94 | ); |
| 93 | 95 | |
| 94 | | foreach ( $values as $key => $value ) |
| 95 | | $values[$key] = get_post_meta( $post_id, '_wp_format_' . $key, true ); |
| | 96 | $format = get_post_format( $post_id ); |
| | 97 | if ( ! empty( $format ) ) { |
| | 98 | switch ( $format ) { |
| | 99 | case 'link': |
| | 100 | $upgrade['_wp_format_url'] = 'link_url'; |
| | 101 | break; |
| | 102 | case 'quote': |
| | 103 | $upgrade['_wp_format_url'] = 'quote_source_url'; |
| | 104 | break; |
| | 105 | } |
| | 106 | } |
| | 107 | |
| | 108 | $upgrade_keys = array_keys( $upgrade ); |
| | 109 | foreach ( $meta as $key => $values ) { |
| | 110 | if ( ! in_array( $key, $upgrade_keys ) ) |
| | 111 | continue; |
| | 112 | update_post_meta( $post_id, '_format_' . $upgrade[$key], reset( $values ) ); |
| | 113 | delete_post_meta( $post_id, $key ); |
| | 114 | } |
| | 115 | |
| | 116 | $values = array(); |
| | 117 | |
| | 118 | foreach ( $keys as $key ) { |
| | 119 | $value = get_post_meta( $post_id, '_format_' . $key, true ); |
| | 120 | $values[$key] = empty( $value ) ? '' : $value; |
| | 121 | } |
| 96 | 122 | |
| 97 | 123 | return $values; |
| 98 | 124 | } |
| … |
… |
function post_formats_compat( $content, $id = 0 ) {
|
| 324 | 350 | $compat['tag'] = ''; |
| 325 | 351 | $compat['position'] = 'before'; |
| 326 | 352 | |
| 327 | | if ( ! empty( $meta['url'] ) ) { |
| 328 | | $esc_url = preg_quote( $meta['url'], '#' ); |
| | 353 | if ( ! empty( $meta['link_url'] ) ) { |
| | 354 | $esc_url = preg_quote( $meta['link_url'], '#' ); |
| 329 | 355 | // Make sure the same URL isn't in the post (modified/extended versions allowed) |
| 330 | 356 | if ( ! preg_match( '#' . $esc_url . '[^/&\?]?#', $content ) ) { |
| 331 | | $url = $meta['url']; |
| | 357 | $url = $meta['link_url']; |
| 332 | 358 | } else { |
| 333 | 359 | $url = get_content_url( $content, true ); |
| 334 | 360 | } |
| … |
… |
function post_formats_compat( $content, $id = 0 ) {
|
| 344 | 370 | '<a %shref="%s">%s</a>', |
| 345 | 371 | empty( $compat['link_class'] ) ? '' : sprintf( 'class="%s" ', esc_attr( $compat['link_class'] ) ), |
| 346 | 372 | esc_url( $url ), |
| 347 | | empty( $post->post_title ) ? esc_url( $meta['url'] ) : apply_filters( 'the_title', $post->post_title, $post->ID ) |
| | 373 | empty( $post->post_title ) ? esc_url( $meta['link_url'] ) : apply_filters( 'the_title', $post->post_title, $post->ID ) |
| 348 | 374 | ); |
| 349 | 375 | } |
| 350 | 376 | break; |
| … |
… |
function post_formats_compat( $content, $id = 0 ) {
|
| 376 | 402 | if ( ! empty( $meta['quote'] ) && ! stristr( $content, $meta['quote'] ) ) { |
| 377 | 403 | $quote = sprintf( '<blockquote>%s</blockquote>', wpautop( $meta['quote'] ) ); |
| 378 | 404 | if ( ! empty( $meta['quote_source'] ) ) { |
| 379 | | $source = ( empty( $meta['url'] ) ) ? $meta['quote_source'] : sprintf( '<a href="%s">%s</a>', esc_url( $meta['url'] ), $meta['quote_source'] ); |
| | 405 | $source = ( empty( $meta['quote_source_url'] ) ) ? $meta['quote_source_name'] : sprintf( '<a href="%s">%s</a>', esc_url( $meta['quote_source_url'] ), $meta['quote_source_name'] ); |
| 380 | 406 | $quote .= sprintf( '<figcaption class="quote-caption">%s</figcaption>', $source ); |
| 381 | 407 | } |
| 382 | 408 | $format_output .= sprintf( '<figure class="quote">%s</figure>', $quote ); |
| … |
… |
function post_formats_compat( $content, $id = 0 ) {
|
| 385 | 411 | |
| 386 | 412 | case 'video': |
| 387 | 413 | case 'audio': |
| 388 | | if ( ! has_shortcode( $post->post_content, $format ) && ! empty( $meta[$format] ) ) { |
| | 414 | if ( ! has_shortcode( $post->post_content, $format ) && ! empty( $meta[$format . '_embed'] ) ) { |
| | 415 | $value = $meta[$format . '_embed']; |
| 389 | 416 | // the metadata is an attachment ID |
| 390 | | if ( is_numeric( $meta[$format] ) ) { |
| 391 | | $url = wp_get_attachment_url( $meta[$format] ); |
| | 417 | if ( is_numeric( $value ) ) { |
| | 418 | $url = wp_get_attachment_url( $value ); |
| 392 | 419 | $format_output .= sprintf( '[%s src="%s"]', $format, $url ); |
| 393 | 420 | // the metadata is a shortcode or an embed code |
| 394 | | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $meta[$format] ) || preg_match( '#<[^>]+>#', $meta[$format] ) ) { |
| 395 | | $format_output .= $meta[$format]; |
| 396 | | } elseif ( ! stristr( $content, $meta[$format] ) ) { |
| | 421 | } elseif ( preg_match( '/' . get_shortcode_regex() . '/s', $value ) || preg_match( '#<[^>]+>#', $value ) ) { |
| | 422 | $format_output .= $value; |
| | 423 | } elseif ( ! stristr( $content, $value ) ) { |
| 397 | 424 | // attempt to embed the URL |
| 398 | | $format_output .= sprintf( '[embed]%s[/embed]', $meta[$format] ); |
| | 425 | $format_output .= sprintf( '[embed]%s[/embed]', $value ); |
| 399 | 426 | } |
| 400 | 427 | } |
| 401 | 428 | break; |
| … |
… |
function get_the_post_format_url( $id = 0 ) {
|
| 707 | 734 | if ( empty( $post ) ) |
| 708 | 735 | return ''; |
| 709 | 736 | |
| 710 | | if ( in_array( get_post_format( $post->ID ), array( 'image', 'link', 'quote' ) ) ) { |
| | 737 | $format = get_post_format( $post->ID ); |
| | 738 | if ( in_array( $format, array( 'image', 'link', 'quote' ) ) ) { |
| 711 | 739 | $meta = get_post_format_meta( $post->ID ); |
| 712 | | if ( ! empty( $meta['url'] ) ) |
| 713 | | return apply_filters( 'get_the_post_format_url', esc_url_raw( $meta['url'] ), $post ); |
| | 740 | $meta_link = ''; |
| | 741 | |
| | 742 | switch ( $format ) { |
| | 743 | case 'link': |
| | 744 | if ( ! empty( $meta['link_url'] ) ) |
| | 745 | $meta_link = $meta['link_url']; |
| | 746 | break; |
| | 747 | case 'image': |
| | 748 | if ( ! empty( $meta['url'] ) ) |
| | 749 | $meta_link = $meta['url']; |
| | 750 | break; |
| | 751 | case 'quote': |
| | 752 | if ( ! empty( $meta['quote_source_url'] ) ) |
| | 753 | $meta_link = $meta['quote_source_url']; |
| | 754 | break; |
| | 755 | } |
| | 756 | |
| | 757 | if ( ! empty( $meta_link ) ) |
| | 758 | return apply_filters( 'get_the_post_format_url', esc_url_raw( $meta_link ), $post ); |
| 714 | 759 | } |
| 715 | 760 | |
| 716 | 761 | if ( ! empty( $post->post_content ) ) |
diff --git wp-includes/revision.php wp-includes/revision.php
index b0459b9..b28affa 100644
|
|
|
function _wp_post_revision_fields( $post = null, $autosave = false ) {
|
| 68 | 68 | */ |
| 69 | 69 | function _wp_post_revision_meta_keys() { |
| 70 | 70 | return array( |
| 71 | | '_wp_format_url', |
| 72 | | '_wp_format_quote', |
| 73 | | '_wp_format_quote_source', |
| 74 | | '_wp_format_image', |
| 75 | | '_wp_format_gallery', |
| 76 | | '_wp_format_audio', |
| 77 | | '_wp_format_video', |
| | 71 | '_format_url', |
| | 72 | '_format_link_url', |
| | 73 | '_format_quote_source_url', |
| | 74 | '_format_quote_source_name', |
| | 75 | '_format_quote', |
| | 76 | '_format_image', |
| | 77 | '_format_gallery', |
| | 78 | '_format_audio_embed', |
| | 79 | '_format_video_embed', |
| 78 | 80 | ); |
| 79 | 81 | } |
| 80 | 82 | |