youtubeの動画にはサムネイル画像が用意されているので動画IDから取得し利用できる
function.phpに以下を記述
//youtubeの動画サムネイル画像を取得する---------------------------------------------------
function youtube_tumbnail() {
$youtubePost = esc_attr(get_the_content());
preg_match('/www.youtube.[-_\/A-Za-z0-9]*/', $youtubePost, $youtubeUrl);
$youtubeId = str_replace("www.youtube.com/embed/","",$youtubeUrl[0]);
if (isset($youtubeUrl[0])){
echo "<a href='" .esc_url(get_permalink()). "'>";
echo "<img class='y_thumbnail' src='http://img.youtube.com/vi/$youtubeId/0.jpg'></a>";
// URL貼り付けで埋め込んだ投稿が含まれる場合は以下のコードも追加
} elseif(preg_match('/watch/', $youtubeUrl[0])) {
preg_match('/www.youtube.[-_?=\/A-Za-z0-9]*/', $youtubePost, $pasteUrl);
$pasteId = str_replace("www.youtube.com/watch?v=","",$pasteUrl[0]);
echo "<a href='" .esc_url(get_permalink()). "' class='tumbnail230'>";
echo "<img class='y_thumbnail' src='http://img.youtube.com/vi/$pasteId/0.jpg'></a>";
// URL貼り付けで埋め込んだ投稿が含まれる場合のコードここまで
} else {
echo "<a href='" .esc_url(get_permalink()). "'><img src=' ".esc_html(get_bloginfo('template_url'))."/images/youtube-default.png'></a>";
}
}
テンプレートにてサムネイル画像を呼び出すには以下を記述
<?php youtube_tumbnail()?>