这里有一种使用oembed_fetch_url
筛选器以添加hide_media
查询参数,也在Twitter doc 链接到的页面:
设置的oEmbed查询参数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 );
以下是之前Twitter提供商url的外观:
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结构中。