Настройка встроенных твитов (или, как скрыть фотографии в встроенных твитах)

Я полагаюсь на функциональность WP, чтобы внедрить твит. Когда я добавляю URL-адрес твита, например:

для редактора он расширяет и показывает следующее:

Встроенный твит, отображаемый в WordPress

Мне никогда не нужно напрямую касаться кода встраивания из Twitter. Тем не менее, я хотел бы настроить твит, чтобы он не отображал изображение. Согласно документам Twitter , чтобы скрыть фотографии, мне нужно добавить:

data-cards="hidden" 

к blockquote, сгенерированным WordPress.

Мой вопрос…

Поскольку WordPress никогда не показывает мне код встраивания (не является жизнеспособным на вкладке «Визуализация» или «Текст» редактора), есть ли способ автоматически вставить код «data-cards =» скрытый »в код блока для всех показанных твитов в области контента на веб-сайте?

Благодаря!

Вот один из способов использования фильтра oembed_fetch_url чтобы добавить параметр запроса hide_media , который также упоминается на странице hide_media сайта Twitter, на которую вы hide_media :

Задайте параметр oEmbed query hide_media=true или добавьте атрибут data-cards="hidden" в полученный элемент <blockquote> чтобы предотвратить показ расширенного содержимого.

Вот пример:

 /** * Hide media for all twitter oEmbeds, using the hide_media=1 query argument */ add_filter( 'oembed_fetch_url', function( $provider, $url, $args ) { // Target publish.twitter.com provider if( 'publish.twitter.com' === parse_url( $provider, PHP_URL_HOST ) ) $provider = add_query_arg( 'hide_media', 1, $provider ); return $provider; }, 99, 3 ); 

Вот как выглядит URL-адрес провайдера Twitter:

https://publish.twitter.com/oembed?maxwidth=840&maxheight=1000&url=https%3A%2F%2Ftwitter.com%2FSamFlowers%2Fstatus%2F724417082247528448

и после:

https://publish.twitter.com/oembed?maxwidth=840&maxheight=1000&url=https%3A%2F%2Ftwitter.com%2FSamFlowers%2Fstatus%2F724417082247528448&hide_media=1

Затем есть oembed_result для фильтрации HTML, возвращаемого поставщиком. Мы также могли бы использовать фильтр embed_oembed_html для динамического добавления атрибута data-cards="hidden" , даже для каждого почтового ящика, или для проверки наших собственных параметров пользовательских запросов. Но я думаю, что первый метод более стабилен, так как сложнее вставить атрибут в возможно динамическую структуру HTML.