Ne avevo parlato un anno e mezzo fa in questo articolo: come visualizzare i video di YouTube in un tema WordPress recuperandoli da un feed RSS?

Nel frattempo il mondo è cambiato: tablet e smartphone sono sempre più diffusi, Flash è in fase di dismissione e YouTube mette a disposizione l’embed tramite iframe.

If you use the new embed code style, your viewers will be able to view your embedded video in one of our Flash or HTML5 players, depending on their viewing environment and preferences. Environments that support the HTML5 video player are listed here on our HTML5 settings page. In instances where HTML5 isn’t supported (e.g. our HTML5 player can’t play videos with ads), we use Flash.

Codice aggiornato.

<?php
include_once(ABSPATH . WPINC . '/feed.php');
 
$url = ****indirizzo del canale****;
$rss = fetch_feed($url);
if (!is_wp_error($rss) ) :
  // Verifica se l'oggetto è stato creato correttamente  
  // Individua il numero di video presenti, al massimo leggine 3.
  $maxitems = $rss->get_item_quantity(3);
  // Crea un array di tutti gli elementi (il primo elemento ha indice 0).
  $rss_items = $rss->get_items(0, $maxitems);
endif;
?>
 
<h3>Video</h3>
<ul>
<?php 
if ($maxitems == 0) echo '<li>Nessun video disponibile';
else foreach ( $rss_items as $item ) : ?>
  <li>
    <?php
      // Il permalink ha questa struttura: http://www.youtube.com/watch?v=TbB6pUFVrSA&feature=youtube_gdata 
      // Cerco il carattere "=" nella stringa e copio la parte che segue			
      $youtubeid = strchr($item->get_permalink(), '='); 
      // Cerco il carattere "&"
      $posizioneamp = strpos($youtubeid, '&');
      // Elimino il primo carattere ("=") e tengo la parte di stringa fino a "&"" escluso
      $youtubeid = substr($youtubeid, 1, $posizioneamp-1);		
      $youtubetitle = $item->get_title();
      // Inserisco l'iframe
    ?>	
    <iframe class="videoyoutube" class="youtube-player" type="text/html" width="240" height="176" src="http://www.youtube.com/embed/<?php echo $youtubeid;?>" frameborder="0">
    </iframe>	
    <span><?php echo $youtubetitle; ?></span>
  </li>
<?php endforeach; ?>
</ul>

Se vuoi vedere il codice all’opera puoi visitare questo sito.


2 commenti/trackback a “WordPress: YouTube, feed e HTML5”

  1. Tambu scrive:

    mi aspettavo una regular expression per intercettare il parametro 🙂

  2. flod scrive:

    Io e le espressioni regolari non siamo grandi amici, anche se prima o poi dovrò decidermi a usarle in modo serio 😉

Trackback e pingback

  1. Nessun trackback o pingback disponibile per questo articolo

Non è possibile inserire nuovi commenti. I commenti vengono disattivati automaticamente dopo 60 giorni.