web-dev-qa-db-fra.com

Comment puis-je intégrer dans un widget de texte?

J'essaie d'intégrer une vidéo YouTube dans un widget texte et Wordpress 4.0 supprime l'incorporation lors du rendu. Par exemple, si je mets ceci dans le corps du widget:

Before
[embed]http://youtu.be/JQ_2De2cnzI&rel=0&showinfo=0&w=120[/embed]
After

puis quand j'inspecte la div dans le navigateur, je me retrouve avec ceci:

<div class="textwidget">Before

After</div>

Comment puis-je obtenir Wordpress pour garder l'intégration dans le widget?

2
feetwet

Les codes courts ne sont pas pris en charge dans le widget texte par défaut. Ajoutez ce qui suit à votre functions.php:

// Enable shortcodes in WP Text Widget
add_filter( 'widget_text', 'shortcode_unautop');
add_filter( 'widget_text', 'do_shortcode', 11);

Au lieu d'encapsuler l'URL de la vidéo dans le shortcode [embed], utilisez ce qui suit dans le widget texte:

[video src="http://youtu.be/JQ_2De2cnzI&rel=0&showinfo=0&w=120"]

Pour plus d'informations sur le shortcode [vidéo], voir le Codex .

4
Gabriel

Le code suggéré par @Gabriel ne fonctionne pas pour moi mais celui-ci fonctionne.

add_filter( 'widget_text', array( $wp_embed, 'run_shortcode' ), 8 );
add_filter( 'widget_text', array( $wp_embed, 'autoembed'), 8 );
1
Gino