アクセス数: | 今日: | 昨日:   記事数:996

HOMESITE MAPBOOKMARKTAG CLOUD

【WordPress】YouTubeのRSSを取得して表示させる方法

『【WordPress】YouTubeのRSSを取得して表示させる方法』をはてなブックマーク

WordPress & RSS & YouTubeYouTubeは『マイ動画』や『お気に入り』をRSSで配信しています。
それを、1つ前の記事で書いた方法で表示させる方法です。

以前のコードのままでは表示されず、PHPのコードを使う必要があります。

以下の例は、以前私がアップした『かめー』を参考にして書いています。

まずはYouTubeのアカウントを持っていない事には始まらないので、作成しましょう。(無料です)
ログインしたら、動画をお気に入りに追加して『お気に入り』を開きます。
YouTube - お気に入り

この『お気に入り』のRSSのアドレスを取得します。
1番手っ取り早いのは、ソースを開いて『rss』で検索すれば以下のコードが摘出されます。

<link rel="alternate" type="application/rss+xml" href="http://gdata.youtube.com/feeds/base/users/***/favorites?client=ytapi-youtube-user&v=2" title="Youtube - *** さんのお気に入り">

上記の『href』をコピーして、以前のコードに追加します。

sidebar.phpなど
<?php
  $rss = fetch_rss('http://gdata.youtube.com/feeds/base/users/***/favorites?client=ytapi-youtube-user&v=2');
  $maxitems = 1;
  $items = array_slice($rss->items, 0, $maxitems);

  if (empty($items)) echo 'No items';
  else
    foreach ( $items as $item ) :
?>
  (表示させる箇所)
<?php endforeach; ?>

次からが問題で、RSSで取得した動画のアドレスを記述しても表示されません。
『URL』と『埋込み』のアドレスが違う為です。
『$item['link']』ではURLが取得されます。

『かめー』のURL。
http://www.youtube.com/watch?v=HKR8J4uXcTA

『かめー』の埋込みタグ。
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/HKR8J4uXcTA&hl=ja&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HKR8J4uXcTA&hl=ja&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>

『HKR8J4uXcTA』だけは共通なので、PHPの『substr』関数を利用します。
『substr』は指定した位置からの文字を取得できる関数です。

元のコードに『<object> ~~~ </object>』を追加し、『substr』関数を追加します。
<?php
  $rss = fetch_rss('http://gdata.youtube.com/feeds/base/users/***/favorites?client=ytapi-youtube-user&v=2');
  $maxitems = 1;
  $items = array_slice($rss->items, 0, $maxitems);

  if (empty($items)) echo 'No items';
  else
    foreach ( $items as $item ) :
?>
  <object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/<?php echo substr($item['link'], 31); ?>&hl=ja&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/<?php echo substr($item['link'], 31); ?>&hl=ja&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<?php endforeach; ?>

URLの31文字目からが『HKR8J4uXcTA』なので、その部分を上手く当てはめます。
後は動画の表示する大きさを指定します。
元サイズは『425×344』です。
これを以下の式で計算します。
表示したい幅 ÷ 425 × 344 = 表示したい高さ

私は横幅300pxにしたので、高さは以下の式になります。
300 ÷ 425 × 344 = 243(四捨五入)

最終的なコードは以下のようになります。
効果あるか分かりませんが、気分的な問題で『hd=1』も入れてみました。w
<?php
  $rss = fetch_rss('http://gdata.youtube.com/feeds/base/users/sutetema/favorites?client=ytapi-youtube-user&v=2');
  $maxitems = 1;
  $items = array_slice($rss->items, 0, $maxitems);

  if (empty($items)) echo 'No items';
  else
    foreach ( $items as $item ) :
?>
  <object width="300" height="243"><param name="movie" value="http://www.youtube.com/v/<?php echo substr($item['link'], 31); ?>&hd=1&hl=ja&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/<?php echo substr($item['link'], 31); ?>&hd=1&hl=ja&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="300" height="243"></embed></object>
<?php endforeach; ?>

Trackback URL

リンク先が18禁サイトの場合は削除しています。
当ブログにリンクが貼られていない場合は削除しています。
Tag : ,

コメントを書く

必須です。

必須です。(公開されません)
GRAVATARに登録していると、アイコンが表示されます。

リンク先が18禁サイトの場合は削除しています。

以下のタグが利用出来ます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Additional comments powered by BackType