WordPressの埋め込み機能を使うと、例えばYouTubeの動画URLを貼り付けるだけで自動で投稿や固定ページ内に埋め込むことができます。
具体的にやってみよう
試しに、2018年の夏頃から始めた僕の YouTube チャンネルの動画 初心者向け Gutenberg #1】WordPress 5.0 のアップグレードと Classic Editor のインストール・設定方法の解説 を埋め込みます。下のURLを、WordPressの投稿や固定ページの入力欄に貼り付けるだけでOKです。
https://www.youtube.com/watch?v=fj0XYEtBTsg
(貼り付けるとき「URLにはリンクを貼らない」とか、少し気を付けることがあります。コツは 埋め込み機能 で確認ください)
うまく貼りつけると、下のように動画が埋め込まれます。
こんな感じで自動で動画が埋め込まれる
埋め込まれた動画のhtmlコード(以下「埋め込みコード」と呼ぶことにします)は、下のような感じです。
<iframe width="865" height="487" src="https://www.youtube.com/embed/fj0XYEtBTsg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
ここまでの流れをまとめると「YouTubeの動画URLを貼り付けるだけで、埋め込みコードが生成される」っていう仕組みですね。埋め込み機能 は、便利!
以上が長い前提で、以下が本題です。
埋め込みコードに自動でYouTubeで使えるパラメーターを付けてみよう
ところでYouTubeは、埋め込みコードにパラメーターを指定することができるんですよね。例えば、
- 字幕をオン・オフにしたり(cc_load_policy)
- ページを開いたら自動で再生したり(autoplay)
- 動画の再生などのコントロールの表示・非表示を設定したり(autohide)
- 動画再生後の関連動画の表示・非表示を設定したり(rel)
- キーボード操作の有効・無効を設定したり(disablekb)
- JavaScript APIを有効にしたり(enablejsapi これ。これ個人的にはめちゃくちゃ大事)
上記は一例なので、詳しくは「YouTube 埋め込みプレーヤーとプレーヤーのパラメータ」でどんなパラメーターがあって、どんなことができるのか確認できます。
動画URL貼り付け→自動で好きなパラメーターをつけたい
せっかくパラメーターが使えるんだから「WordPressの埋め込み機能を使ってYouTubeの動画URLを貼り付けるだけで、自動で好きなパラメーターを付与したい」と思いました。
ちょっと文章で説明がヘタなので具体例を・・・埋め込みコードに「自動再生」のパラメーターを付与する場合は下のようなコードでできます。ご使用のWordPressテーマフォルダ内にある「functions.php」の最後尾などに追記します。(functions.php の書き方についてはこちらをご参考ください。)
埋め込みコードに「自動再生」のパラメーターを付ける
if ( !function_exists( 'custom_embed_param' ) ) { function custom_embed_param( $html, $url, $attr ) { if ( strpos( $html, 'feature=oembed' ) !== false ){ return str_replace( 'feature=oembed', 'feature=oembed&autoplay=1', $html ); } else { return $html; } } } add_filter( 'embed_oembed_html', 'custom_embed_param', 10, 3 );
やっていること
埋め込みコード内に文字列「feature=oembed」を見つけたら、「feature=oembed&autoplay=1」に置き換えているっていう、シンプルな処理です。このコード、応用すればいろいろできますよね。
これで、YouTubeの動画URLをペラッと貼り付けるだけで、自動再生のパラメーターがつきます。埋め込みメディアをもっと厳密にチェックしたい場合は、YouTubeのurlを正規表現などを使って、条件分岐をしてあげるといい感じですね。
こんな調子で「YouTube 埋め込みプレーヤーとプレーヤーのパラメータ」で使えるパラメーターを確認しながら、「feature=oembed」の後に付与したいパラメーターをお好みで指定しましょう。で、WordPressのフィルターフック「embed_oembed_html」でフックさせれば完了、という流れです。
コードの使いどころ
今回ご紹介した自動再生のパラメーターを付けることで、動画コンテンツがメインのサイトや、最近流行りのバイラルメディアなどで「ユーザー操作として、動画再生の1アクションを減らす」こともできますね。
ちなみに自動再生を応用させると
これも例えばですが、Twitter,Facebook,Google+などソーシャルからの流入の場合は、URLのパラメーターに「autoplay_social=1」など付与して、今回ご紹介したコードに条件分岐を加えて、値が設定されていたら自動再生させる、とか、逆にさせないとか。または、ページ送り時にパラメーターを設定してもいいですね。
「ちょっとした工夫で自動再生のタイミングも制御できるよ」ってことが少しでも伝わると嬉しいです。使い方次第ってやつですね!
まとめ
記事に動画を利用する機会が多い方にとっては、動画の見せ方はこだわりたいですよね。そういう意味では、カスタマイズって必要になってきますよねぇ。
もし需要があれば、プラグイン化もしてみようかな~とは思います。作ったら使ってもらえそうですかね。というわけで、何かのご参考となりましたら幸いです。
このページを共有する