唐突な質問ですが、お気に入り動画をその都度アクセスして見ていませんか?
お気に入りのチャンネルがたくさんあると面倒ですよね、しかも、それなりに時間も費やします。
本記事は、RSSフィードを使ってお気に入りチャンネルをまとめて表示させたページを作成することで、効率よく「最新のお気に入りYouTube動画をモニタリングする方法」について解説します。
RSSフィードとは?
RSSとは、日付やタイトル、その内容の要約等を配信するための技術です。 フォーマットがXML形式で記述されており、専用の「RSSリーダー」というツールを使用する事により様々なサイトの更新情報を自動的に取得、閲覧できるようになります。
RSS機能を使う場合は、テキストベースの記事の更新情報を自動的に取得、閲覧できるようにするのが一般的な使い方です。その方法については別の記事で説明していますのでご参考に!
動画の埋め込みを自動化する
通常は、埋め込みたいYouTube動画を選択し、ツールメニューの「共有」から「動画の埋め込み」のコードをコピペしてページに貼り付けていると思います。
本記事は、この作業を自動で行い最新のYouTube動画をWebページに貼り付ける方法です。
具体的には、PHPというものを使ってYoutubeからRSS情報を取得し、iframeの埋め込み形式で出力するというものです。
iframeとは?
iframeとは、Web内に矩形の領域を設けて、その領域内にsrc属性で指定したURLを読み込んで表示するHTMLタグのことをいいます。
このiframeは、Inline Frameの略称で「インラインフレーム」「アイフレーム」と呼ばれます。
こんな感じで表示されます。
YouTubeチャンネルのRSSを取得する
RSSの取得方法は?
まず最初にYouTubeチャンネルのRSSを取得する必要があります。
YouTubeにはRSSのアイコンなどがないのでURLの確認が難しいのですが、下記のようにユーザー名またはチャンネルIDを指定することでRSSフィードを取得することができます。
#チャンネルIDを指定してRSSを取得
https://www.youtube.com/feeds/videos.xml?channel_id=チャンネルID
#ユーザー名を指定してRSSを取得
https://www.youtube.com/feeds/videos.xml?user=ユーザ名
でも、自分自身のチャンネルIDはYouTube Studio>カスタマイズ>基本情報 で確認できますが、他人のチャンネルでカスタム URLを使用されている場合はチャンネルIDがわかりませんよね。
他人のチャンネルURLからチャンネルIDを抽出する
チャンネルIDが不明な場合、以下のサイトで調べると簡単にチャンネルIDを調べることができます。
下図の「チャンネルURL」(青枠)に調べたいYouTubeチャンネルのURLを入力し、確認をクリックすれば、「チャンネルID」(赤枠)を抽出することができます。
チャンネルIDを指定してRSSを取得
次に、取得した「チャンネルID」からRSSを取得します。
お気に入りYouTubeチャンネルのRSSフィードは取得できましたか?
PHPを使いiframeの埋め込み形式で出力する
RSSフィードを取得できることがわかったら、PHPを使ってWebサイトに実装してみましょう。
プラグイン「Insert PHP Code Snippet」をインストール
プラグイン「Insert PHP Code Snippet」を使えば、記事にショートコードを貼り付けるだけで簡単にWordPressに埋め込むことが可能になります。
- プラグインのページを開きます
- 新規追加をクリックします
- 「Insert PHP Code Snippet」で検索します
- 「Insert PHP Code Snippet」をインストールします
- プラグインを有効化します
WordPressにPHPのコードを埋め込む方法
- WordPressメニューの「XYZ PHP Code」をクリックします
- 「Add New PHP Code Snippet」をクリックします
- タイトルとPHPコードを入力します(テンプレートをコピペしチャンネル_idを書き換えて下さい) … 補足図参照
- 「Create」をクリックします … 補足図参照
- 作成したコードの[Snippet Short Code]をコピーします … 補足図参照
- コピーしたショートコードを記事(埋め込む箇所)に貼り付けます
3.と4.の詳細説明(補足図)
Tracking Name(青枠)に任意の名称を入力
PHP codeを入力(赤枠)
channel_idを書き換える
最後にCreate(黒枠)をクリック
5.の詳細説明(補足図)
作成されたショートコード(赤枠)をコピーする
PHPコード(テンプレート)
<?php
$url = "https://www.youtube.com/feeds/videos.xml?channel_id=xxxxxxxxxxxx";
$rss = file_get_contents($url);
$rss = preg_replace("/<([^>]+?):(.+?)>/", "<$1_$2>", $rss);
$rss = simplexml_load_string($rss,'SimpleXMLElement');
echo '<ul>';
foreach($rss->entry as $value) {
echo '<li>';
echo '<div class="youtube-box"><iframe src="https://www.youtube.com/embed/' . htmlspecialchars($value->yt_videoId) . '" frameborder="0"></iframe></div>';
echo '<p><a href="https://www.youtube.com/watch?v=' . htmlspecialchars($value->yt_videoId) . '" target="_blank">' . htmlspecialchars($value->title) . '</a></p>';
echo '</li>';
}
echo '</ul>';
?>
iframeで埋め込み出力した結果
ショートコードを記事に貼り付けて出力させた結果は以下のとおりです。
まとめ
YouTube動画もRSSフィードを使って更新情報を自動的に取得することができます。
但し、PHPを使用しないとYouTube動画の埋め込みができないため、本記事ではプラグイン「Insert PHP Code Snippet」を使用することにしました。
PHPをWordPress上で直接編集することはできますが、上級者向け(バックアップ作業は必須)なので、なるべくリスクをかけないようにすることも重要です。
ちなみに直接編集する場合は、編集ミスによってPHPファイル内でエラーが起こるとサイトにアクセスできなくなるようなので、必ずFTPを使用して編集するようにしましょう。
最後まで読んで頂き、ありがとうございます!