Pour les besoins du Centre de Kriya Yoga France, j’ai écrit une fonction qui doit afficher une vidéo automatiquement.
Or je voulais juste renvoyer un shortcode vidéo qui prendrait en charge toute la partie code du lecteur vidéo.
On ne peut pas juste renvoyer la valeur, il faut utiliser la fonction do_shortcode()
de WordPress.
Cas 1 : exécuter un shortcode dans une fonction
La solution réside dans l’utilisation de la fonction do_shortcode()
. Voici un petit exemple :
<?php
/*
|-----------------------------------------------------------------------
| Sky Show Video by Matt - www.skyminds.net
|-----------------------------------------------------------------------
|
| Returns shortcode to be executed in WordPress.
|
*/
function sky_show_video($content) {
// do stuff
// return video
return do_shortcode("[video src='$vid_url' width='600' height='480' type='video/mp4' preload='true']");
}
Code language: HTML, XML (xml)
Cet exemple exécute le shortcode [video]
.
Cas 2 : retourner l’URL d’une vidéo YouTube et demander à WordPress de l’intégrer via Oembed
Avec une vidéo YouTube et rien ne s’affichait : la fonction renvoyait bien l’URL de la vidéo mais WordPress ne la transformait pas via oembed.
La solution : appliquer la fonction apply_filters() à notre vidéo dans the_content() :
<?php
/*
|-----------------------------------------------------------------------
| Sky Show YT Video by Matt - www.skyminds.net
|-----------------------------------------------------------------------
|
| Returns oembedded YouTube video.
|
*/
function sky_show_ytvideo($content) {
// put YouTube video URL in $var and apply the filters
$var = apply_filters('the_content', "https://www.youtube.com/watch?v=4rV2pfTbBxU&rel=0");
// return modified content
return $var;
}
Code language: HTML, XML (xml)
Et voilà !
Vous voulez un site WordPress ou WooCommerce qui soit à la fois rapide et performant? Vous êtes au bon endroit.