HTML,CSS,PHP,ワードプレスカスタマイズ 技術情報資料

youtube のサムネイルを変更(カスタムサムネイルを使わない)

スポンサーリンク

他の方の作った youtube 動画をサイトに張り付けるとき、サムネイルを変えたいとか思いますよね?
でも、動画の管理人ではないのでカスタムサムネイルを使えない。

その場合、どうするか。

youtube 動画のサムネイルを好きな画像に変える



原理は簡単です、画像クリックでHTMLを書き換えればいいだけです。

具体的には、こんな感じ。
<div id="youtube_th1">
<img src="好きな画像1" OnClick="youtube_click('youtube_th1')";>
</div>
<div id="youtube_th2">
<img src="好きな画像2" OnClick="youtube_click('youtube_th2')";>
</div>
 :
<script type="text/javascript">
function youtube_click(youtubename)
{
	if(youtubename=='youtube_th1'){
		document.getElementById(youtubename).innerHTML = '<iframe width="100%" src="https://www.youtube.com/embed/~~~?autoplay=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen class="fade-up"></iframe>';
	}
	if(youtubename=='youtube_th2'){
		document.getElementById(youtubename).innerHTML = '<iframe width="100%" src="https://www.youtube.com/embed/~~~?autoplay=1" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen class="fade-up"></iframe>';
	}
}
</script>

ポイントは、youtube のURLの後ろに ?autoplay=1 を追加すること。
iframe を差し替えた時点で再生が行われるように ?autoplay=1 を入れてあります。

さらに、これだと iframe が入れ替わるときに div の中身が消えますので、サムネイルと同じ画像を背景にするなどの処理をおこなうといい感じになります。

例えばですが(位置調整が必要になる可能性がある)
<div id="youtube_th1" style="background-image(好きな画像1); background-repeat: no-repeat;">
<img src="好きな画像1" OnClick="youtube_click('youtube_th1')";>
</div>
とかね。

微調整しつつお試しください。

※サムネイルの画像は、YOUTUBE のアスペクト比が 1280:720 なのでこの比率に合わせたほうがきれいに重なります。

マウスが乗ったらマウスポインターを変える



前述を仕上げるとすると、マウスポインターですよね?

クリックできる場所でマウスポインターが変わらないと、
クリックできる場所じゃないと思われて今います。

そこで、マウスま画像の上にのっかったらマウスカーソルを指のカーソルにします。

<div id="youtube_th1" style="background-image(好きな画像1); background-repeat: no-repeat; cursor : pointer;">
<img src="好きな画像1" OnClick="youtube_click('youtube_th1')";>
</div>

味噌は、
cursor : pointer;
です。

もちろん、 inline css でなくてもかまいません。

<div id="youtube_th1">
<img src="好きな画像1" OnClick="youtube_click('youtube_th1')";>
</div>
 :
 :
 :
----- xxx.css -----
#youtube_th1{
    background-image(好きな画像1);
    background-repeat: no-repeat;
    cursor : pointer;
}

サンプル(cursor : pointer;あり)



サンプル(cursor : pointer;なし)




スポンサーリンク

スポンサーリンク

よく使うタグ

・float クリア
<br clear="all"><div style="clear:both;" class="clearfix"></div>
・角丸め
round-radius
border-radius:5px; -webkit-border-radius:10px; -moz-border-radius:10px;
・div box
overflow:scroll;min-width:300px;max-width:300px;min-height:300px;max-height:300px;
・TEXTAREAリサイズ
resize: vertical;
・サイトURL
home_url() // http://…
if(site_url()==home_url){
$shorturl_yuzu_path = substr(ABSPATH,0,strpos( ABSPATH, substr(site_url(),strlen(home_url()) ) ) ).’/’;
}else{
$shorturl_yuzu_path = ABSPATH.’/’;
}
// /var/…
・WP HOME URL
site_url() // http://…/wp
ABSPATH // /var/…/wp
・プラグイン(自分のDIR追加必要)
plugins_url() // http://…/plugins
WP_PLUGIN_URL // http://…/plugins
WP_PLUGIN_DIR // /var/…/plugins
・使用中のテーマ
get_template_directory_uri() // http://…/theme/xx
get_template_directory() // /var/…/theme/xx
・wp-content
content_url() // http://…/wp-content
WP_CONTENT_DIR // /var/…/wp-content
・画像URLからDIR変換
$pctdir=str_replace(content_url(), WP_CONTENT_DIR,$pcturl);
・パス名分解
$pathData = pathinfo($file);
echo $pathData["dirname"]; // /var/~
echo $pathData["filename"]; // xxx
echo $pathData["extension"]; // txt
echo $pathData["basename"]; // xxx.txt
・画像サイズ
list($width,$height) = getimagesize($url);
if(has_post_thumbnail()){
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_img = wp_get_attachment_image_src( $thumbnail_id , ‘full’ );
$src = $image[0]; //url
$width = $image[1]; //横幅
$height = $image[2]; //高さ
・画像サイズ比率
list($src_w,$src_h) = getimagesize($file);
$dst_w = 600;$dst_h = 0;
$dst_h = ($dst_w!=0)?(intval(($src_h*$dst_w)/$src_w )):(($dst_h!=0)?(intval(($src_w*$dst_h)/$src_h)):0);
・疑似要素順
link visited hover active


特殊文字
シングルクォート : &#39;
ダブルクォート : &quot;
WP設定内表示前処理(htmlタグ許可項目)
$str = str_replace(‘<','&lt;' ,$str);
$str = str_replace(‘>’,’&gt;’ ,$str);
$str = str_replace(‘\”‘,’&quot;’,$str);
$str = str_replace(“\'”,’&#39;’ ,$str);
WO設定項目表示前処理(htmlタグ許可項目)
$str = str_replace(‘\”‘,'”‘,$str);
$str = str_replace(“\'”,”‘”,$str);
・テーマ
get_theme_root_uri()
get_theme_root()
・WP 情報
get_bloginfo( $show )
・Wp config FTP 情報 設置
define( ‘FTP_HOST’, ‘host’ );
define( ‘FTP_USER’, ‘id’ );
define( ‘FTP_PASS’, ‘pw’ );
define( ‘FTP_SSL’, false );
弾に使う
placeholder:ユーザー入力補助

カテゴリー

jQuery ボタンを押しても反応しない

jQuery ボタンを押しても反応しない jQuery の click イベントを使ってボタンを押したら alert を表示する簡単な仕様なのになにも反応しない。一瞬はまってしまうことって・・・ありますよね?例えば、こう書きます。popup.

WP パーマリンク リダイレクト インターナルサーバーエラー

WP パーマリンク リダイレクト インターナルサーバーエラー WP パーマリンクのリダイレクトがインターナルサーバーエラーを起こすようになった。ユーザーさんのサイトなので「なにをしたか」わからない。WP パーマリンク リダイレクト インターナルサーバーエラーのい

Javascript から CGIを呼び出すのに便利な XMLHttpRequest 覚書

Javascript から CGIを呼び出すのに便利な XMLHttpRequest 覚書 XMLHttpRequestは、Javascript から サーバー上のCGIを呼び出す時に便利なコマンドだ。XMLHttpRequestをざっくり書いておく。CGIへコマンドを送る(JavaScri

Unchecked runtime.lastError: The message port closed before a response was received.の解決策

Unchecked runtime.lastError: The message port closed before a response was received.の解決策 Unchecked runtime.lastError: The message port closed before a response was received.未チェックのruntime.la

ロボフォームのようなパスワードを保存する拡張機能

ロボフォームのようなパスワードを保存する拡張機能 ロボフォームのようなパスワードを保存するJavaScritpを書こうと思った。ロボフォームは、wwwサイトのログイン情報などを保存できるブラウザの拡張機能だ。ところが、バージョンが上がるたび使い勝手が

flexbox インストールなど面倒なことなしにDIV BOX を横に並べるクラス

flexbox インストールなど面倒なことなしにDIV BOX を横に並べるクラス flexbox は、div の box を横に並べるためのブラウザに標準装備されてるクラス。乱暴な言い方すればそういうことです。現場では細かいことはどうでもよくて、とにかく簡単に DIV BOX を横