web-dev-qa-db-fra.com

oEmbed ne reconnaît pas les URL Vimeo

J'essaie d'intégrer une vidéo Vimeo dans un post. J'insère l'URL dans la page comme ça.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

http//vimeo.com/1234

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Il est généré sous forme d'URL en texte brut. Je l'ai essayé avec un lien youtube et cela a fonctionné parfaitement. J'ai également essayé de l'envelopper dans le shortcode [embed], mais cela vient de l'envelopper dans des balises d'ancrage.

Toutes les suggestions seraient très appréciées, merci.

1
Wolfy87

En regardant dans WordPress Core vimeo est enregistré comme suit:

'#http://(www\.)?vimeo\.com/.*#i' => array( 'http://www.vimeo.com/api/oembed.{format}', true  ),

Mais en regardant vimeo API pour oEmbed, ils affichent leur URL sans le www.. Vous devez donc enregistrer vimeo oEmbed correctement:

add_action( 'init', 'add_vimeo_oembed_correctly' );
function add_vimeo_oembed_correctly()
{
    wp_oembed_add_provider(
        '#http://(www\.)?vimeo\.com/.*#i',
        'http://vimeo.com/api/oembed.{format}',
        true
    );
}

Vous pouvez placer ceci dans votre fichier de fonctions de thème ou dans un plugin.

Vous devrez peut-être consulter de nouveau les publications intégrant Vimeo, puis les enregistrer à nouveau après avoir mis ce correctif en place.

3
Brady