Как автоматически создавать миниатюры для постов, содержащих видео из YouTube

Как автоматически создавать миниатюры для постов, содержащих видео из YouTube | n-wp.ru Настройки

Если вы используете тему, в которой каждому посту должна соответствовать миниатюра, которая, например, отображается на главной странице или на странице с результатами поиска, то наверняка заметили, что если пост содержит только видео ролик из  YouTube, то он не отображается в качестве миниатюры — выводится пустой прямоугольник, как будто бы картинка оказалась поврежденной или удаленной. Это дело можно поправить, заставляя блог автоматически создавать миниатюру, соответствующую видео ролику YouTube.

Как автоматически создавать миниатюры для постов, содержащих видео из YouTube

Откройте файл functions.php вашей темы, и добавьте в него такой код:

	add_action("admin_init", "youtube_init");
	add_action('save_post', 'save_youtube_link');
	function youtube_init(){
		add_meta_box("youtube", "Youtube thumbnail code", "youtube_link", "post", "normal", "high");
	}
	function youtube_link(){
		global $post;
		$custom  = get_post_custom($post->ID);
		$link    = $custom["link"][0];
?>
<div class="link_header">
	<input name="link" class="form-input-tip" value="" /><br />
</div>
<div class="yt-thumb"><img src="http://img.youtube.com/vi//0.jpg" width="30" height="30" /></div>
<p>Please place id for the youtube file here! This sample URL ID is hilighted in <span class="yt-id">red</span>. After v= and before & symbol if one exists. <br /> http://www.youtube.com/watch?v=<span class="yt-id">oHg5SJYRHA0</span>&feature=player_embedded</p><div class="yt-clear"></div>
ID;}
	update_post_meta($post->ID, "link", $_POST["link"]);
}
function youtube_thumb($w,$h,$t){
     $custom = get_post_custom($post->ID);
     return '';
}
add_action('admin_head', 'youtube_css');
function youtube_css() {
	echo'
	
		.link_header{margin:0px 5px 0px 0px;}
		.link_header input{
			font-size:13px;
			color:#666;
			border:solid 1px #codec;
			-moz-border-radius:3px;
			padding:2px;
			margin:0px 10px 0px 0px;
			width:100%;
			}
		.yt-clear{clear:both;}
		.yt-id{color:#ff0000;font-weight:bold;}
		.yt-thumb{
			float:left;
			margin:6px 6px 0px 0px;
			border:solid 1px #codec;
			}
	
	';
}

Этот код создает специальный бокс для вставки ID ролика из YouTube. По этому ID код выуживает из YouTube миниатюру, и присоединяет ее к посту. Теперь если пост состоит только из видео ролика YouTube, к нему будет присоединена миниатюра, соответствующая этому видео ролику, и у вас не будет возникать ошибок с их отображениями в теме.

Чтобы вывести миниатюру, вставьте код в нужное место шаблона:

 

Это решение поможет подготовить тему для видео-блога, сделав представление информации более наглядной.

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий

  1. Irina

    tiaurus, спасибо за информацию. Очень кстати, только у меня не получается ей воспользоваться. Возникли вопросы: 1. Код ( ID)с ютуба надо вставить в рамочку, которая вверху ( с красными буквами)? У меня не вставляется. 2. Я не могу найти в админке файл functions.php темы. Напишите подробнее, пожалуйста, как это сделать.

    Ответить
    1. 2. Внешний вид » Редактор » Шаблоны
      [img]https://n-wp.ru/wp-content/uploads/2011/07/tiaurus-2011-07-25_224951.png[/img]
      1. В поле нужно вставлять не весь код с ютюба, а только ID ролика (на скриншоте в статье ID ролика выделен красным).

      Ответить