如何使用wp_oembed_get(删除圆角边框)设置Twitter帖子的参数?

时间:2017-09-10 作者:Jimm

我对WordPress很陌生。我已经为嵌入内容(使用碳字段)和oEmbed创建了一个自定义字段。它只需使用以下代码即可工作:

echo wp_oembed_get($variable);
The$variable 在循环中检索,并包含指向Twitter帖子的URL。这篇文章显示在我的索引页上,带有(非预期的)圆形边框。如何使用参数删除这些边框chrome=noborders provided by Twitter?

1 个回复
最合适的回答,由SO网友:Jimm 整理而成

回答我自己的问题:

对于单个推特帖子,当前无法基于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);

结束

相关推荐

从POST编辑器中向oEmbedded视频添加类?

我希望能够在post编辑器中动态地为oembed视频添加类。通过这种方式,我可以让一些视频像图像一样左对齐或右对齐,并让文本环绕它们,而默认行为是设置包含元素的视频全宽,并在调整大小时做出响应。我已经通过此函数和一些CSS实现了默认行为:// remove dimensions from oEmbed videos & wrap in figure add_filter( \'embed_oembed_html\', \'tdd_oembed_filter\', 10, 4 ) ; &#x