diff --git a/src/wp-includes/class-wp-oembed.php b/src/wp-includes/class-wp-oembed.php
index 881de68103..292bc343d1 100644
a
|
b
|
class WP_oEmbed { |
520 | 520 | $provider = add_query_arg( 'maxwidth', (int) $args['width'], $provider ); |
521 | 521 | $provider = add_query_arg( 'maxheight', (int) $args['height'], $provider ); |
522 | 522 | $provider = add_query_arg( 'url', urlencode( $url ), $provider ); |
523 | | $provider = add_query_arg( 'dnt', 1, $provider ); |
| 523 | if ( strpos( $provider, 'vimeo.com' ) === false ) { |
| 524 | $provider = add_query_arg( 'dnt', 1, $provider ); |
| 525 | } |
524 | 526 | |
525 | 527 | /** |
526 | 528 | * Filters the oEmbed URL to be fetched. |
527 | 529 | * |
528 | 530 | * @since 2.9.0 |
529 | 531 | * @since 4.9.0 The `dnt` (Do Not Track) query parameter was added to all oEmbed provider URLs. |
| 532 | * @since 5.6.0 The `dnt` (Do Not Track) query parameter was removed from Vimeo oEmbed URLs. (@ticket: #46986) |
| 533 | * |
| 534 | * The `dnt` parameter can be re-enabled on Vimeo oEmbed URLs using the following: |
| 535 | * |
| 536 | * function enable_dnt_vimeo_oembed( $provider, $url, $args ) { |
| 537 | * if ( strpos( $provider, 'vimeo.com' ) !== false ) { |
| 538 | * $provider = add_query_arg( 'dnt', 1, $provider ); |
| 539 | * } |
| 540 | * return $provider; |
| 541 | * } |
| 542 | * add_filter( 'oembed_fetch_url', 'enable_dnt_vimeo_oembed', 10, 3 ); |
530 | 543 | * |
531 | 544 | * @param string $provider URL of the oEmbed provider. |
532 | 545 | * @param string $url URL of the content to be embedded. |
diff --git a/tests/phpunit/tests/oembed/wpOembed.php b/tests/phpunit/tests/oembed/wpOembed.php
index 1f15abbad8..418f40aed4 100644
a
|
b
|
class Tests_WP_oEmbed extends WP_UnitTestCase { |
234 | 234 | $this->assertFalse( $actual ); |
235 | 235 | $this->assertSame( $current_blog_id, get_current_blog_id() ); |
236 | 236 | } |
| 237 | |
| 238 | /** |
| 239 | * @ticket 46986 |
| 240 | */ |
| 241 | public function test_vimeo_oembed_does_not_have_dnt() { |
| 242 | $vimeo_oembed = $this->oembed->get_data( 'https://vimeo.com/202791609' ); |
| 243 | |
| 244 | $this->assertNotContains( 'dnt=1', $vimeo_oembed->html ); |
| 245 | } |
237 | 246 | } |