WordPressでYouTube動画にシェアボタンをオーバーレイ表示する方法

動画は、ユーザーエンゲージメントを高めるための最良の方法の1つです。最近、ユーザーの1人から、人気のサイトUpWorthyに似た、動画に共有ボタンのオーバーレイを作成する方法について質問がありました。この記事では、WordPressでYouTube動画に共有ボタンをオーバーレイとして追加する方法を説明します。

このようになる例:

WordPressでYouTube動画にシェアボタンをオーバーレイ表示する方法

YouTube動画に共有ボタンをオーバーレイ表示する

これを行うにはいくつかの方法がありました。ほとんどの方法では、動画を追加するたびにHTMLコードの断片を貼り付ける必要がありました。そうする代わりに、このオーバーレイ効果を自動化するショートコードを作成することにしました。

次のコードを、サイト固有のプラグインまたはテーマのfunctions.phpファイルにコピー&ペーストするだけです。

/// WPBeginner's YouTube Share Overlay Buttons

function wpb_yt_buttons($atts) { 

// Get the video ID from shortcode
extract( shortcode_atts( array(
	'video' => ''
	), $atts ) );

// Display video
	
$string = '<div id="video-container"><iframe src="//www.youtube.com/embed/' . $video . '" height="315" width="560" allowfullscreen="" frameborder="0"></iframe>';

// Add Facebook share button
	
$string .= '<ul class="share-video-overlay" id="share-video-overlay"><li class="facebook" id="facebook"><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fyoutube.com/watch%3Fv%3D'. $video .'" target="_blank">
 Facebook</a></li>';	

// Add Tweet button 
$string .= '<li class="twitter" id="twitter"><a href="http://www.twitter.com/share?&text=Check+this+video&amp;url=http%3A//www.youtube.com/watch%3Fv%3D'. $video .'">Tweet</a></li></ul>';

// Close video container    
	$string .= '</div>';

// Return output	
	return $string; 

} 
// Add Shortcode 
add_shortcode('wpb-yt', 'wpb_yt_buttons');

このコードは、動画にツイッターとフェイスブックの共有リンクを自動的に追加するショートコードを作成します。これらのボタンは、ユーザーがマウスを動画の上に移動させたときにのみ表示されます。他のソーシャルメディアチャネルを追加するためにも使用できます。

このショートコードを使用するには、YouTube動画IDをショートコードに次のように追加するだけです。

[wpb-yt video="qzOOy1tWBCg"]

YouTube動画IDはURL文字列から取得できます。例えば、次のようになります。

YouTube動画IDの検索

動画を追加すると、YouTube動画と、FacebookやTwitterで動画を共有するためのプレーンテキストリンクが表示されるようになります。これらのリンクはまったくスタイル設定されていないことに注意してください。

では、これらのリンクをボタンのようにスタイル設定して、もう少し見栄えを良くしましょう。また、これらのボタンを非表示にし、ユーザーがマウスを動画コンテナに置いたときにのみ表示されるようにします。これを行うには、以下のCSSを子テーマのスタイルシートに追加してください。

#share-video-overlay {
position: relative;
right: 40px;
top: -190px;
list-style-type: none;
display: block;
opacity: 0;
filter: alpha(opacity=0);
-webkit-transition: opacity .4s, top .25s;
-moz-transition: opacity .4s, top .25s;
-o-transition: opacity .4s, top .25s;
transition: opacity .4s, top .25s;
z-index: 500;
}

#share-video-overlay:hover { 
opacity:1;
filter:alpha(opacity=100);
}

.share-video-overlay  li { 
margin: 5px 0px 5px 0px;

}
#facebook {
color: #ffffff;
background-color: #3e5ea1;
width: 70px;
padding: 5px;
}

.facebook a:link, .facebook a:active, .facebook a:visited { 
color:#fff;
text-decoration:none;
} 

#twitter { 
background-color:#00a6d4;
width: 70px;
padding: 5px;
} 

.twitter a, .twitter a:link, .twitter a:active, .twitter a:visited, .twitter a:hover { 
color:#FFF;
text-decoration:none;
}

これで完了です。これで、WordPressのYouTube動画に共有ボタンが重ねて表示されるはずです。

WordPressでYouTube動画プレイリストのオーバーレイとして共有ボタンを追加する

この記事を公開した後、多くの読者から、このコードをYouTubeプレイリストだけでなく動画にも機能するように変更する方法を尋ねられました。WordPressサイトにYouTube動画とプレイリストの両方を埋め込んでいる場合は、代わりにこのコードを使用してください。

/*
* WPBeginner's Share Overlay Buttons
* on YouTube Videos and Playlists
*/

function wpb_yt_buttons($atts) { 

// Get the video and playlist ids from shortcode

extract( shortcode_atts( array(
	'video' => '',
	'playlist' => '',
		), $atts ) );
			
// Check to see if a playlist id is provided with shortcode			
			
	if (!$playlist == '' ) :	

// Display video playlist
		
	$string = '<div id="video-container"><iframe src="//www.youtube.com/embed/' . $video . '?list=' . $playlist . '" height="315" width="560" allowfullscreen="" frameborder="0"></iframe>';

// Add Facebook button		
	$string .= '<ul class="share-video-overlay" id="share-video-overlay"><li class="facebook" id="facebook"><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fyoutube.com/watch%3Fv%3D'. $video . '%26list%3D' . $playlist . '" target="_blank">Facebook</a></li>';	

// Add Twitter button 
	$string .= '<li class="twitter" id="twitter"><a href="http://www.twitter.com/share?&text=Check+this+video&amp;url=http%3A//www.youtube.com/watch%3Fv%3D'. $video . '%26list%3D' . $playlist . '">Tweet</a></li></ul>';

// Close video container    
	$string .= '</div>';
		
// If no playlist ID is provided 
	else : 

//Display video		
	$string .= '<div id="video-container"><iframe src="//www.youtube.com/embed/' . $video . '" height="315" width="560" allowfullscreen="" frameborder="0"></iframe>';

// Add Facebook button		
	$string .= '<ul class="share-video-overlay" id="share-video-overlay"><li class="facebook" id="facebook"><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fyoutube.com/watch%3Fv%3D'. $video .'" target="_blank">
 Facebook</a></li>';
 
// Add Twitter button			
	$string .= '<li class="twitter" id="twitter"><a href="http://www.twitter.com/share?&text=Check+this+video&amp;url=http%3A//www.youtube.com/watch%3Fv%3D'. $video .'">Tweet</a></li></ul>';

	// Close video container   
		$string .= '</div>';
		
	endif;
		
// Return output		
	return $string; 
} 

// Add shortcode
add_shortcode('wpb-yt', 'wpb_yt_buttons');

上記のコードを使用すると、共有ボタンを重ねて表示するプレイリストを追加することもできます。プレイリストを表示するには、ショートコードで動画IDとプレイリストIDを指定する必要があります。次のようになります。

[wpb-yt video="exP9N3rIfV0" playlist="UUhA624rCabHAmd6lpkLOw7A"]

YouTubeでプレイリストにアクセスし、URLからリストIDをコピーすることで、動画とプレイリストのIDを取得できます。次のようになります。

URLからYouTube動画IDとプレイリストIDを取得する

YouTube動画の共有ボタンオーバーレイにWordPress投稿リンクを追加する

この記事を公開した後、一部のユーザーから、共有ボタンでYouTube動画のリンクではなく、WordPress投稿のリンクを共有したいという要望がありました。それを行うには、共有ボタンの動画URLをWordPress投稿のパーマリンクに置き換える必要があります。次のコードをfunctions.phpまたはサイト固有のプラグインで使用してください。

/// WPBeginner's YouTube Share Overlay Buttons

function wpb_yt_buttons($atts) { 

// Get the video ID from shortcode
extract( shortcode_atts( array(
	'video' => ''
	), $atts ) );

// Display video
	
$string = '<div id="video-container"><iframe src="//www.youtube.com/embed/' . $video . '" height="315" width="560" allowfullscreen="" frameborder="0"></iframe>';

// Get post permalink and encode URL

$permalink_encoded = urlencode(get_permalink()); 

// Add Facebook share button
	
$string .= '<ul class="share-video-overlay" id="share-video-overlay"><li class="facebook" id="facebook"><a href="https://www.facebook.com/sharer/sharer.php?u='. $permalink_encoded .'" target="_blank">
 Facebook</a></li>';	

// Add Tweet button 
$string .= '<li class="twitter" id="twitter"><a href="http://www.twitter.com/share?&text=Check+this+video&amp;url='. $permalink_encoded .'">Tweet</a></li></ul>';

// Close video container    
	$string .= '</div>';

// Return output	
	return $string; 

} 
// Add Shortcode 
add_shortcode('wpb-yt', 'wpb_yt_buttons');

必要に応じて、CSSまたはショートコードのスニペットを自由に編集してください。動画をさらに最適化するために、FitVids jQueryプラグインを使用して YouTube動画をレスポンシブ にすることができます。動画の最後に表示される 関連動画をオフ にすることもできます。または、YouTube動画のサムネイル から作成することもできます。

この記事が、WordPressでYouTube動画にカスタム共有ボタンをオーバーレイとして追加するのに役立ったことを願っています。コメントで、どのソーシャルメディアチャンネルを動画に追加する予定か教えてください。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、当社が手数料を得る可能性があることを意味します。WPBeginnerがどのように資金提供されているか、それがなぜ重要か、そしてどのように私たちをサポートできるかについては、こちらをご覧ください。当社の編集プロセスはこちらです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

48 CommentsLeave a Reply

  1. 6年後のことを考えると、返信はあまり期待していませんが、最後のショートコードでは、YouTubeの代わりにWordPressのURLを入力するように言っていますが、そのコードが何であるか、どこに配置するかは言っていません。非常に新しい初心者にはそれがわからないことを心に留めておいてください。

    • 混乱させてしまった場合は申し訳ありません。今後、より明確にするために言葉遣いを改善するよう努めます。

      管理者

  2. 「ほとんどの方法では、動画を追加するたびにHTMLコードの一部を貼り付ける必要があります」

    この方法で学びたいのですが…どうすればできますか?

    ありがとう

  3. サイトに掲載しているYouTube動画から、別の静止画像を取得したいと考えています。動画の所有者が設定している画像は気に入らないのですが、動画のタイムラインから静止画像を選択して、動画終了時の画像にできると聞きました。自分の動画ではないので、埋め込みiframeコードでこれを実行する必要があります。

    これは可能ですか?可能であれば、コードを教えていただけますか。ありがとうございます。

  4. こんにちは。
    これは素晴らしいチュートリアルです。YouTube動画の最後に共有ボタンを表示することは可能ですか?そして、その方法は?ご協力に感謝いたします。

  5. Dave様、YouTube動画ではなく投稿リンクを共有する方法を含めるように記事を更新しました。「YouTube動画の共有ボタンオーバーレイにWordPress投稿リンクを追加する」セクションの手順に従ってください。

    • コメントを編集しようとしていたのですが、「しまった!」という瞬間が訪れ、サイトプラグインを有効にするのを忘れていたことに気づきました。コメントの承認が必要だったため、編集できませんでした。

      有効にしたところ、FacebookとTwitterの共有オプションが動画の上にオーバーレイ表示されませんでした。動画の下に表示されました。

      よくわかりませんが、プロセス中に何か間違ったことをしたのかもしれません。

      あなたのサイトは素晴らしいので、これからも素晴らしい記事を求めて戻ってきます。

  6. これは素晴らしい解決策ですが、奇妙な問題があります。一部のIDは機能しますが、他のIDは機能しません。

    例えば、このIDは私には機能します [wpb-yt video=”7vJdBec_B6A”] が、この他のIDは機能しません [wpb-yt video=”CYveDEem5VA”]

  7. 皆さん、チュートリアルありがとうございます。すぐに自分のサイトで動作しました。

    しかし、Yoastの動画SEOプラグインを使用しており、ショートコードで埋め込まれたYouTube動画を認識していないことに気づきました。

    これを実現する方法はありますか?ショートコードを使わない回避策のようなものは?

  8. 皆さん、こんにちは。

    YouTube動画に「YouTube動画にオーバーレイ表示される共有ボタン」を、Revolution Slider内に埋め込んだYouTube動画に追加するにはどうすればよいですか?
    どのPHPファイルとCSSファイルにコードを貼り付ければよいですか?

    ご協力に大変感謝いたします!!

    Mat

  9. こんにちは — 投稿を本当に感謝しています。

    functions.phpスニペットを変更して、共有/ツイートボタンがyoutube.comサイトではなく私のサイトを参照するようにしようとしています。残念ながら、あらゆる種類の問題が発生しています。手伝ってもらえますか、または手伝ってくれる場所に案内してもらえますか?1時間も進歩せずにいじっています。

    この投稿をありがとうございます。非常に役立ちます!!

  10. リンクをクリックしても機能しません。ボタンは表示されますが、クリックしても何も起こりません。

  11. このプラグインを27回作成しましたが、まったく機能しません!この機能が本当に必要なので、もう一度ステップバイステップで説明していただけますか?「ただ~してください」で始めないでください。私は本当に初心者で、ここに座っているときは何も知りません。すでにfunctions.phpのチュートリアルに従いましたが、サイトが完全にクラッシュしました。ここで素晴らしいサポートを提供していることは理解しています、素晴らしいです!サムズアップ!!素晴らしい!!!しかし、何度も作成してステップに従っても結果が出ないことが本当にイライラすることを理解してください。このプラグインは私のwpインストールにまったく表示されません。

    • 「functions.phpにコピーするだけ…」と言っても、functions.phpのどこにですか?先頭の1から始まる部分ですか、それとも300などの数字がある末尾の部分ですか?それとも真ん中のどこかですか?ありがとうございます<3

      • プラグインのインストールは問題ありません。最終的には自分で修正しましたが、結果はまあまあで、あまりきれいに見えませんでした。そのため、削除しました。他の解決策を探しましたが、見つかりませんでした。すべて「お金を稼ぐ」か「コンテンツをロックする」に関連しています。なぜ誰かがコンテンツをロックするためにページを「いいね!」するのでしょうか?このプラグインが本当に必要で、人を雇うお金がありません。メールでサポートを提供していただけませんか?全体をより良く見せるためのスタイリング方法を説明していただけますか?どうかお願いします!本当に感謝します。ありがとうございます <3

    • こちらも同じです。functions.phpに追加してみましたが、サイト固有のプラグインでも試しました。何も起こりません。全くです。そして、本当に機能してほしいと思っています。すべてのテーマで機能しますか?

  12. 素晴らしいコードで、テストページに実装し、Google+も追加しました。CSSではないことは承知していますが、タッチスクリーンでのブラウジングが増えているため、opacity 0は非常に悪い考えだと指摘したいと思います。タッチスクリーンにはホバーイベントがないため、ボタンが表示されなくなります。opacityエフェクトを完全に削除するか、初期opacityを0.5に設定するか、メディアクエリを使用して個別のopacity設定を持つ異なるデバイスをターゲットにすることをお勧めします。

  13. これは非常に役立ちます。この例の共有ボタンは、UpWorthyのボタンオーバーレイが行うように、埋め込まれた動画を含むページではなく、実際にはYouTube動画のリンクを共有しているようです。YouTubeリンクではなく、ページのパーマリンクを取得するようにコードを変更するにはどうすればよいですか?

    • I just wasted 30 minutes of my life. I did everything the tutorial said to do and it just showed a short code on my post. But even if it did work, according to the comment I am replying to, it would have driven traffic to youtube and not my site. :-(

  14. ありがとうございます。これを試してみて、結果をお知らせするのが楽しみです。

  15. これは良いですね。ショートコードでプレイリストIDを使用するのはどうですか?

    ほとんどの人は投稿に静止画動画を使用しますが、ホームページにはプレイリストを使用します。

    このコードを、プレイリスト動画の上に共有ボタンを追加するように変更するにはどうすればよいですか?

    つまり、YouTube Channel Galleryプラグインと連携するためです。

    ところで、コードの下のテキストには次のように書かれています。「以下のコードは、動画にTwitterとFacebookボタンを自動的に追加するショートコードを作成します。」

    「…前のコード…」と言うべきではありませんか?

  16. ナイスです。私は通常、コードレベルで何かを変更することに抵抗があります。これは簡単なプラグイン候補のようです。プラグインがないことを確認しましたか?

  17. これは素晴らしいですね。インストール方法について、非常に簡単なステップバイステップの説明をいただけますか?YouTubeなどで。

  18. 素晴らしい記事です!

    TinyMCEバーに表示されるHTMLショートコードエディタに、このショートコードを現在どのように追加しますか?

  19. かなりクールなコードです。これをいじって、新しいサイトに追加するのが楽しみです。ありがとう!

  20. コードの裏側での作業に慣れていない場合、コードを台無しにしないように、プラグインを使用してこのコードを追加する方法はありますか?これをありがとうございます。以前にもこのようなものを見たことがあり、どのように行うのか本当に知りたかったです。

  21. これを共有していただきありがとうございます。エレガントな解決策ですね。
    「PLxxxetc」の構文で、YouTubeプレイリストにも応用できると思いますか?

    • 基本的に、ショートコードを変更してあらゆる種類の埋め込みを出力し、CSSを使用してその埋め込みに共有ボタンを配置できます。ですから、はい、機能するはずです。

      管理者

  22. YouTube動画にこのような共有ボタンを付けるのはとてもクールですね。FooBoxで追加される画像上のフローティングボタンも気に入っています。

  23. これは素晴らしいです、ありがとうございます!
    プレイリストだけでなく、個々の動画でも機能するように調整することは可能だと思いますか?

返信する

コメントを残していただきありがとうございます。すべてのコメントは、当社のコメントポリシーに従ってモデレーションされますので、ご了承ください。メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で有意義な会話をしましょう。