有没有办法在不使用IFRAME的情况下使用Vimeo Embedded的自定义参数?

时间:2013-10-07 作者:jakob

我正在尝试将一些嵌入的参数附加到我的Vimeo剪辑。我尝试使用以下两个说明来启动它:

  • Passing Parameters to a Vimeo link in a WordPress Custom Field - 利梅坎瓦斯。comAny way to use a custom parameter for YouTube embed without using an iframe - WordPress。东南部。不幸的是,适用于YouTube的内容不适用于Vimeo,因为返回的URL没有如下字符串?feature=oembed 我能做的str_replace 继续工作。它只是URL末尾的视频id,这是随机的。如果输入要制作的剪辑的确切ID,我可以使其工作str_replace 寻找

    知道如何让函数查找数字并附加参数吗?一个示例片段是

    http://vimeo.com/14956293
    
    oEmbed应该是

    //player.vimeo.com/video/14956293?color=FFFFFF&title=0&byline=0. 
    
    正如你在这里看到的,YouTube还有另一个不同之处。参数以?并将参数与&. 而YouTube以& 并将参数与&.

1 个回复
SO网友:mems

你应该add a filter on oembed provider 要允许自定义参数,请执行以下操作:

add_filter( \'oembed_fetch_url\', \'my_oembed_fetch_url\', 10, 3 );

function my_oembed_fetch_url( $provider, $url, $args ) {
    // You can find the list of defaults providers in WP_oEmbed::__construct()
    if ( strpos( $provider, \'vimeo.com\' ) !== false) {
        // Check the full list of args here: https://developer.vimeo.com/apis/oembed
        if ( isset( $args[\'autoplay\'] ) ) {
            $provider = add_query_arg( \'autoplay\', absint( $args[\'autoplay\'] ), $provider );
        }
        if ( isset( $args[\'color\'] ) && preg_match( \'/^[a-f0-9]{6}$/i\', $args[\'color\'] ) ) {
            $provider = add_query_arg( \'color\', $args[\'color\'], $provider );
        }
        if ( isset( $args[\'portrait\'] ) ) {
            $provider = add_query_arg( \'portrait\', absint( $args[\'portrait\'] ), $provider );
        }
        if ( isset( $args[\'title\'] ) ) {
            $provider = add_query_arg( \'title\', absint( $args[\'title\'] ), $provider );
        }
        if ( isset( $args[\'byline\'] ) ) {
            $provider = add_query_arg( \'byline\', absint( $args[\'byline\'] ), $provider );
        }
    }

    return $provider;
}
然后,在模板中:

<?php wp_oembed_get(\'http://vimeo.com/44633289\', array(\'color\' => \'7AB800\')); ?>
或通过shortcode 在帖子内容中:

[vimeo 44633289 color=7AB800]
你也可以对youtube和所有其他oembed提供商(如果你的my_oembed_fetch_url 允许它)

结束

相关推荐

wp_query with parameters

我有一个自定义搜索页面,可通过该页面选择:One or ALL categories One or ALL tags One or ALL authors A search string or no search string 在结果页面上,当我选择了值时,wp\\u查询就会工作。但我如何指示将某个参数设置为ALL?例如,如何设置“搜索所有类别”?也许我需要打破我的参数,只有当我得到值时才添加到它们?但我该怎么做呢?谢谢编辑我修改了wp查询,现在如下所示。一切都很好,但我