web-dev-qa-db-fra.com

add_filter to youtube embarque?

hé les gars, lors de la publication d'un lien vidéo youtube dans le backend (dans un post ou une page) wordpress crée automatiquement le code d'intégration pour moi.

Est-il possible d'ajouter un filtre à cela? J'aimerais changer la largeur et la hauteur de toutes les vidéos intégrées à 100%?

par exemple.

<object width="100%" height="100%">
<param name="movie" value="http://www.youtube.com/v/rBa5qp9sUOY?version=3">
<param name="allowFullScreen" value="true">
<param name="allowscriptaccess" value="always">
<embed src="http://www.youtube.com/v/rBa5qp9sUOY?version=3" type="application/x-shockwave-flash" width="100%" height="100%" allowscriptaccess="always" allowfullscreen="true">
</object>`

Aucune idée sur la façon de résoudre ça?

edit: Ou est-il au moins possible d'ajouter un nom de classe à la balise d'objet afin que je puisse utiliser javascript pour agir sur la hauteur de la vidéo intégrée?

mise à jour: Merci j'ai essayé le code suivant mais cela ne fonctionne pas?

add_filter('oembed_result','oembed_result', 10, 3);

function oembed_result($html, $url, $args) {

    // $args includes custom argument
    // modify $html as you need

    //return $html; 
}

si return $ html est un commentaire, aucune vidéo youtube ne devrait apparaître correctement, mais c'est le cas!

4
mathiregister

Oui, il existe un filtre pour Oembeds. Deux (voire plus) en fait: oembed_result sera appelé avant sa mise en cache (donc une seule fois par intégration externe), et embed_oembed_html après le cache (ainsi chaque fois que l'élément est affiché). Si vous ne devez le modifier qu'une seule fois, oembed_result est probablement votre ami. Le second paramètre est le $url, alors vérifiez si cela vient de Youtube avant de faire quelque chose.

10
Jan Fabry