WordPress

Inscreva-se em nosso canal no Youtube Daviwp

Exibir vídeos por tag

02/10/2014 WordPress (0) comentário

Amigos mais um post fresco! aqui vamos ver como listar um vídeo do seu canal do YouTube relacionados por tag, esse método serve para a seguinte questão,
você tem um custom post types jogadores certo? vamos lá… você criou um post chamado Pelé, na pagina interna você puxar do seu canal só os vídeos de Pelé, e assim sucessivamente pros outros jogadores registrados, o nome do seu post como Pelé será a tag que vamos exibir current em nossa api, lembrando que ao enviar o vídeo para seu canal do YouTube você precisa colocar em tags o nome do jogador, e isso em cada vídeo relacionado ao jogador.
Galera esse é só uma das soluções que você pode utilizar essa api não é especificamente só para custom post types jogadores rs vamos lá!

01 – Primeiro vamos destrinchar o código para entendermos.

<?php
// Seu usuário do YouTube
$usuario = 'Usuário do youtube';
 
// URL do Feed RSS de vídeos de um usuário - usar max-results=1& para limitar quantidade de video.
$youTube_UserFeedURL = 'https://gdata.youtube.com/feeds/api/users/'.$usuario.'/uploads?q='. $post->post_name .'?&max-results=3&v=2';
 
// Usa cURL para pegar o XML do feed
$cURL = curl_init(sprintf($youTube_UserFeedURL, $usuario));
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_FOLLOWLOCATION, true);
$resultado = curl_exec($cURL);
curl_close($cURL);
 
// Inicia o parseamento do XML com o SimpleXML
$xml = new SimpleXMLElement($resultado);
 
$videos = array();
 
// Passa por todos vídeos no RSS
foreach ($xml->entry AS $video) {
$url = (string)$video->link['href'];
 
// Quebra a URL do vídeo para pegar o ID
parse_str(parse_url($url, PHP_URL_QUERY), $params);
$id = $params['v'];
 
// Monta um array com os dados do vídeo
$videos[] = array(
'id' => $id,
'titulo' => (string)$video->title,
'thumbnail' => 'https://i' . rand(1, 4) .'.ytimg.com/vi/'. $id .'/hqdefault.jpg',
'url' => $url
);
}
?>

Aqui é nossa api manipulada, estamos fazendo uma consulta direto nos feeds do nosso canal, e retornando os vídeos do parâmetro tag,
veja a variável $usuario = ‘Nome de usuário do YouTube’; aqui você coloca o nome de usuário do canal, repare que na url da api
temos o php $post->post_name esse pega o nome do jogador e passa como tag na url da api, e isso de forma current = corrente ou automática.

02 – Agora vamos jogar tudo isso dentro do nosso template, copie o código acima já editado o nome do canal e cole no seu template, junto com o código abaixo.

<?php if($videos): ?>
	<?php foreach ($videos AS $video) : ?>
		<div class="list-feed-video">
                    <iframe width="560" height="315" src="//www.youtube.com/embed/<?php echo $video['id'] ?>" frameborder="0" allowfullscreen></iframe>
		</div>
	<?php endforeach; ?>
<?php else: ?>
	<p>Nenhuma tag relacionada.</p>
<?php endif; ?>

O html que segue junto ao código é um exemplo, você pode usar o html que desejar, esse código é o nosso loop, ele é responsável trazer os resultados manipulados lá do nosso código primeiro.
É isso meus amigos espero que ajude vocês ai! Abaixo veja outra alternativa de em vez de utilizar iframe utilizar img com modal ele lista a thumbnail do vídeo e ao clicar ele puxa o vídeo com modal, galera o modal é por conta de vocês aqui é só como mostrar o thumbnail veja.

<?php if($videos): ?>
<?php foreach ($videos AS $video) : ?>
	<div class="list-feed-video <?php if($cont == 3) echo "sem-margin-right"; ?>">
		<a class="fancybox-media" href="//www.youtube.com/embed/<?php echo $video['id'] ?>" title="<?php echo $video['titulo'] ?>">
        	<img src="<?php echo $video['thumbnail'] ?>"> 
    	</a>
	</div>
<?php endforeach; ?>
<?php else: ?>
<p>Nenhuma tag relacionada para. " <?php echo $post->post_name; ?> "</p>
<?php endif; ?>

Esse é um opção de usar com imagem, então é isso… galera qualquer duvida comentem!
segue também o arquivo em php abaixo pra você ver como fica Download

daviwp

Meu nome é Davi Alves desenvolvedor web e WordPress developer, residente de Belo Horizonte, sou um dos organizadores do WordCamp evento oficial do WordPress em BH e co-fundador do Belo Horizonte WordPress Group juntamente com o fundador Mateus Neves, sou articulista de alguns sites, e fundador do daviwp.com, aqui compartilho conhecimentos para toda galera aficionada em WordPress.