回答我自己的问题:
对于单个推特帖子,当前无法基于specific parameters 一篇推特帖子。
然而,我发现有两段代码可以解决这个问题,尽管我仍然无法解释它们。以下代码(基于此post) 将为单个Twitter帖子(在functions.php中)设置参数:
function my_oembed_fetch_url( $provider, $url, $args ) {
if ( strpos( $provider, \'twitter.com\' ) !== false) {
// List of args for a single Tweet: https://dev.twitter.com/rest/reference/get/statuses/oembed
if ( isset( $args[\'lang\'] ) ) {
$provider = add_query_arg( \'lang\', $args[\'lang\'], $provider );
}
if ( isset( $args[\'theme\'] ) ) {
$provider = add_query_arg( \'theme\', $args[\'theme\'], $provider );
}
if ( isset( $args[\'align\'] ) ) {
$provider = add_query_arg( \'align\', $args[\'align\'], $provider );
}
if ( isset( $args[\'hide_thread\'] ) ) {
$provider = add_query_arg( \'hide_thread\', $args[\'hide_thread\'], $provider );
}
if ( isset( $args[\'widget_type\'] ) ) {
$provider = add_query_arg( \'widget_type\', $args[\'widget_type\'], $provider );
}
}
return $provider;
}
add_filter(\'oembed_fetch_url\', \'my_oembed_fetch_url\', 10, 3 );
在模板内(例如index.php),设置所需的参数:
echo wp_oembed_get($twitterurl, array(\'theme\'=>\'light\',widget_type\'=>\'video\'));
另一种代码是直接在函数内部设置参数。php,使用以下代码(基于此
post):
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( \'widget_type\', \'video\', $provider );
return $provider;
}, 99, 3 );
在模板内,只需使用:
echo wp_oembed_get($twitterurl);