youtube-wordpress
Con questo post andremo ad integrare del codice che ci permetterà di posizionare video o semplici fotogrammi prelevati da You Tube…tre semplici script sicuramente da provare.

You Tube shortcode

Con questo semplice hack potremo inserire un video You Tube in post o pagine tramite un semplice shortcode. Basta inserire il codice sottostante nel file functions.php contenuto nel tuo tema.

add_shortcode( 'youtube', 'youtube_shortcode' );
function youtube_shortcode( $atts ) {
    global $wp_embed;
    if ( empty($atts['id']) )
        return '';
    // URL YouTube
    $url = 'http://www.youtube.com/watch?v=' . $atts['id'];
    return $wp_embed->shortcode( $atts, $url );
}

Per inserire il video ti basterà inserire questo shortcode in un qualsiasi punto dell’editor. ATTENZIONE: ho volutamente staccato le parentesi quadre dello shortcode di uno spazio altrimenti sarebbe stato visualizzato un video. In quello che andrai ad inserire tu lo spazio non ci dovrà essere:

[ youtube id="000000" ]

Naturalmente dovrai inserire l’ID del video che vorrai far visualizzare. Lo potrai trovare semplicemente cliccando sul bottone Condividi che trovi sotto ad ogni video. Per esempio se ti appare il link youtu.be/zhahGnyuzKA l’ID del video sarà zhahGnyuzKA.

Ancora shortcode…una via alternativa

Un altro metodo sempre usando gli shortcode è quello che andrò a spiegarti di seguito. La differenza sostanziale dal primo hack è che con questo codice potrai impostare dei parametri aggiuntivi quali larghezza, altezza, nome, fullscreen e possibilità di consentire o meno l’accesso al video. Come al solito il codice va inserito in functions.php.

function youtube($atts) {
	extract(shortcode_atts(array(
		"value" => 'http://',
		"width" => '475',
		"height" => '350',
		"name"=> 'movie',
		"allowFullScreen" => 'true',
		"allowScriptAccess"=>'always',
	), $atts));
	return '<object style="height: '.$height.'px; width: '.$width.'px"><param name="'.$name.'" value="'.$value.'"><param name="allowFullScreen" value="'.$allowFullScreen.'"></param><param name="allowScriptAccess" value="'.$allowScriptAccess.'"></param><embed src="'.$value.'" type="application/x-shockwave-flash" allowfullscreen="'.$allowFullScreen.'" allowScriptAccess="'.$allowScriptAccess.'" width="'.$width.'" height="'.$height.'"></embed></object>';
}
add_shortcode("youtube", "youtube");

Come prima andremo a inserire il video nel nostro editor tramite shortcode ma questa volta avremo bisogno dell’intero link estrapolato come puoi vedere nel codice sottostante e inserito nel campo value.

[ youtube value="http://www.youtube.com/watch?v=1aBSPn2P9bg" ]

Un solo fotogramma come miniatura

Questa che vado a descrivere è una funzione un po particolare infatti permette di estrapolare un singolo fotogramma da un video You Tube e impostarlo come miniatura in un post. L’inserimento del codice che segue aggiungerà un metabox nell’editor di WordPress dove comparirà un campo per inserire l’ID del video scelto.

	add_action("admin_init", "youtube_init");
	add_action('save_post', 'save_youtube_link');
	function youtube_init(){
		add_meta_box("youtube", "Thumbnail da Youtube", "youtube_link", "post", "normal", "high");
	}
	function youtube_link(){
		global $post;
		$custom  = get_post_custom($post->ID);
		$link    = $custom["link"][0];
?></p>
<div class="link_header">
	<input name="link" class="form-input-tip" value="<?php echo $link; ?>" />
</div>
<div class="yt-thumb"><img src="http://img.youtube.com/vi/<? echo $custom['link'][0]; ?>/0.jpg" width="30" height="30" /></div>
<p>Inserisci nel campo l'ID del video di You Tube! Per trovare l'ID vedi l'esempio evidenziato in <span class="yt-id">rosso</span> dopo v= e prima del simbolo &. Puoi trovare l'ID anche cliccando sul tasto Condividi nella pagina del video.<br /> http://www.youtube.com/watch?v=<span class="yt-id">oHg5SJYRHA0</span>&feature=player_embedded</p>
<div class="yt-clear"></div>
<p><?php 	} function save_youtube_link(){ global $post; if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {return $post->ID;}
	update_post_meta($post->ID, "link", $_POST["link"]);
}
function youtube_thumb($w,$h,$t){
     $custom = get_post_custom($post->ID);
     return '<img src="http://img.youtube.com/vi/'.$custom['link'][0].'/'.$t.'.jpg" width="'.$w.'" height="'.$h.'" />';
}<br />
add_action('admin_head', 'youtube_css');
function youtube_css() {
	echo'
	<style type="text/css">
		.link_header{margin:0px 5px 0px 0px;}
		.link_header input{
			font-size:13px;
			color:#666;
			border:solid 1px #ccc;
			-moz-border-radius:3px;
			padding:2px;
			margin:0px 10px 0px 0px;
			width:100%;
			}
		.yt-clear{clear:both;}
		.yt-id{color:#ff0000;font-weight:bold;}
		.yt-thumb{
			float:left;
			margin:6px 6px 0px 0px;
			border:solid 1px #ccc;
			}
	</style>
	';
}

Per vedere la miniatura dovrai inserire all’interno del Loop del tuo tema (generalmente in index.php) questo codice:

<? echo youtube_thumb('480','360','0'); ?>

I numeri che vedi in questa riga di codice ti permettono di personalizzare la miniatura e sono in ordine:

  • 480 = larghezza miniatura
  • 360 = altezza miniatura
  • 0 = numero del fotogramma da visualizzare
thumb-youtube

Fonte: WPSnipp