Changeset 42009
- Timestamp:
- 10/24/2017 11:09:43 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/ajax-actions.php
r41985 r42009 3028 3028 $wp_embed->return_false_on_fail = true; 3029 3029 3030 if ( 0 === $post_id ) { 3031 /* 3032 * Refresh oEmbeds cached outside of posts that are past their TTL. 3033 * Posts are excluded because they have separate logic for refreshing 3034 * their post meta caches. See WP_Embed::cache_oembed(). 3035 */ 3036 $wp_embed->usecache = false; 3037 } 3038 3030 3039 if ( is_ssl() && 0 === strpos( $url, 'http://' ) ) { 3031 3040 // Admin is ssl and the user pasted non-ssl URL. -
trunk/src/wp-includes/class-wp-embed.php
r41651 r42009 285 285 } 286 286 287 wp_insert_post( wp_slash( array( 288 'post_name' => $key_suffix, 289 'post_content' => $html ? $html : '{{unknown}}', 290 'post_status' => 'publish', 291 'post_type' => 'oembed_cache', 292 ) ) ); 287 $insert_post_args = array( 288 'post_name' => $key_suffix, 289 'post_status' => 'publish', 290 'post_type' => 'oembed_cache', 291 ); 292 293 if ( $html ) { 294 if ( $cached_post_id ) { 295 wp_update_post( wp_slash( array( 296 'ID' => $cached_post_id, 297 'post_content' => $html, 298 ) ) ); 299 } else { 300 wp_insert_post( wp_slash( array_merge( 301 $insert_post_args, 302 array( 303 'post_content' => $html, 304 ) 305 ) ) ); 306 } 307 } elseif ( ! $cache ) { 308 wp_insert_post( wp_slash( array_merge( 309 $insert_post_args, 310 array( 311 'post_content' => '{{unknown}}', 312 ) 313 ) ) ); 314 } 293 315 294 316 if ( $has_kses ) { -
trunk/tests/phpunit/tests/oembed/WpEmbed.php
r41651 r42009 273 273 } 274 274 275 /** 276 * Test that parsing an embed shortcode should cause oembed_cache to be updated. 277 * 278 * @ticket 42310 279 */ 280 public function test_shortcode_should_update_custom_post() { 281 add_filter( 'oembed_ttl', '__return_zero' ); 282 283 $url = 'https://example.com/'; 284 $embedded = '<b>Embedded content</b>'; 285 $key_suffix = md5( $url . serialize( wp_embed_defaults( $url ) ) ); 286 287 add_filter( 'pre_oembed_result', '__return_empty_string' ); 288 $this->wp_embed->shortcode( array(), $url ); 289 remove_filter( 'pre_oembed_result', '__return_empty_string' ); 290 291 $oembed_post_id = $this->wp_embed->find_oembed_post_id( $key_suffix ); 292 293 $this->assertSame( '{{unknown}}', get_post( $oembed_post_id )->post_content ); 294 295 $previous_usecache = $this->wp_embed->usecache; 296 $this->wp_embed->usecache = false; 297 298 // The update cannot be empty because empty responses won't overwrite the cache. 299 add_filter( 'pre_oembed_result', array( $this, '_pre_oembed_result_callback' ) ); 300 $this->wp_embed->shortcode( array(), $url ); 301 remove_filter( 'pre_oembed_result', array( $this, '_pre_oembed_result_callback' ) ); 302 303 $this->assertSame( $embedded, get_post( $oembed_post_id )->post_content ); 304 305 $this->wp_embed->usecache = $previous_usecache; 306 remove_filter( 'oembed_ttl', '__return_zero' ); 307 } 308 275 309 public function test_shortcode_should_get_url_from_src_attribute() { 276 310 $url = 'http://example.com/embed/foo';
Note: See TracChangeset
for help on using the changeset viewer.