Problema con gli shortcode
-
Seguendo una guida su youtube sto provando a realizzare una funzione che visualizza un video di youtube quando viene richiamato uno shortcode.
Il problema abbastanza curioso che si presenta riguarda la gestione dei contenuti dello shortcode.function __construct(){ add_shortcode( 'youtube', array($this,'embedYT')); } public function embedYT($attr, $content){ $array = array('id' => '', 'width' => '', 'height' => ''); extract (shortcode_atts( $array, $attr )); $url_video = 'http://www.youtube.com/embed/'.$id; //echo '<iframe width="'.$width.'" height="'.$height.'" src="'.$url_video.'" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>'; echo "<iframe width='".$width."' height='".$height."' src='".$url_video."' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe>"; echo '<h1>'.$content.'</h1>'; }
Caso 1:
Nuovo post con due shortcode video NON CHIUSI e SENZA CONTENUTO[youtube id=”idacaso”]
[youtube id=”idacaso”]Tutto ok.
Caso 2:
Secondo video si prende un commento[youtube id=”idacaso”]
[youtube id=”idacaso”]Contenuto[/youtube]Risultato: viene mostrato il primo video mentre del secondo leggo solo mezzo shortcode
es.
(video)
[youtube id=”idacaso”]ContenutoCaso 3:
Visto che non mi interessa mettere un contenuto al primo shortcode penso di aggirarlo aggiungendo del testo in mezzo ai due shortcode[youtube id="KWl_4ANshQw"] test [youtube id='KWl_4ANshQw']Street Fighters II Anime bla bla[/youtube]
Risultato: Mi mostra il primo video, la scritta test e poi [youtube id=’KWl_4ANshQw’]Street Fighters II Anime bla bla
Caso 4:
Decido di chiudere il primo shortcode anche se dentro non c’è niente
[youtube id="KWl_4ANshQw"][/youtube] test [youtube id='KWl_4ANshQw']Street Fighters II Anime bla bla[/youtube]
Risultato: Disastro, vengono visualizzati prima i due video (il secondo con il commento) e solo dopo la scritta test.
Come ne esco ? Thx
- Il topic ‘Problema con gli shortcode’ è chiuso a nuove risposte.