Adding parameters to vimeo videos via wordpress oembed

I’m trying to add parameters to vimeo video’s that are embedden via WordPress’ oembed. I’ve managed to do this for youtube video’s with the code below. I use this function in functions.php and it works like a charm. I’ve edited the code to do the same for Vimeo video’s, but I can’t seem to make it work.

This is my code:

Read More
function Oembed_vimeo_no_title($html,$url,$args){

// Only run this for vimeo embeds
if ( !strstr($url, 'vimeo.com') )
    return $html;

$url_string = parse_url($url, PHP_URL_QUERY);
parse_str($url_string, $id);
if (isset($id['v'])) {
    return '<div id="video_full_width"><iframe width="100%" height="394" src="//player.vimeo.com/video/'.$id['v'].'?title=0&amp;byline=0&amp;portrait=0" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen ></iframe></div>';
}
return $html;
}
add_filter('oembed_result','Oembed_vimeo_no_title',10,3);

Any suggestion on what I’m doing wrong?

Related posts

Leave a Reply

1 comment

  1. I find that a better way to do it is on the oembed_fetch_url filter hook, like so:

    <?php
    /**
     * Add parameters to embed
     *
     * @src https://foxland.fi/adding-parameters-to-wordpress-oembed/
     * @src https://github.com/WordPress/WordPress/blob/ec417a34a7ce0d10a998b7eb6d50d7ba6291d94d/wp-includes/class-oembed.php#L553
     * @src https://developer.vimeo.com/api/oembed/videos
     *
     * Use it like this: `[embed autoplay="true"]https://vimeo.com/190063150[/embed]`
     */
    $allowed_args = ['autoplay'];
    
    function koa_oembed_args($provider, $url, $args) {
        global $allowed_args;
    
        $filtered_args = array_filter(
            $args,
            function ($key) use ($allowed_args) {
                return in_array($key, $allowed_args);
            },
            ARRAY_FILTER_USE_KEY
        );
    
        foreach ($filtered_args as $key => $value) {
            $provider = add_query_arg($key, $value, $provider);
        }
    
        return $provider;
    }
    
    add_filter('oembed_fetch_url', 'koa_oembed_args', 10, 3);
    

    More details in my other answer here: https://stackoverflow.com/a/55053642/799327