Как автоматически создавать миниатюры для постов, содержащих видео из 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];
?>

<img src="http://img.youtube.com/vi//0.jpg" width="30" height="30" />

Please place id for the youtube file here! This sample URL ID is hilighted in red. After v= and before & symbol if one exists.
http://www.youtube.com/watch?v=oHg5SJYRHA0&feature=player_embedded

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 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

2 Комментарии

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

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

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*