Получение и вывод первой картинки в wordpress

Доброе утро, уважаемые коллеги. Часто, при создании свой темы для блога или сайта, в шаблоне нужно получить первую (или не первую) картинку. Как это сделать, вы узнаете в этой записи.

Получение и вывод первой картинки в wordpress

Для того, чтобы получить первую картинку с записи wodpress, я использую следующую функцию:
[sourcecode language=»php»]
function get_post_image() {
global $post, $posts;
$first_img = »;
ob_start();
ob_end_clean();
$output = preg_match_all(‘//i’, $post->post_content, $matches);
$first_img = $matches [1] [0];

if(empty($first_img)){
$img_dir = get_bloginfo(‘template_directory’);
$first_img = $img_dir . ‘/images/post-default.jpg’;
}
return $first_img;
}
[/sourcecode]

Особенности данной функции:

  1. Если картинки в посте нет, то она берется из папки images, а картинка называется — post-default.jpg. Вам следует самому положить картинку в эту папку.
  2. Изначально функция берет первую картинку, но если вы хотите использовать какую-то другую, то вам следует поменять индекс массива $matches. То есть, нужно менять этот код:
    [sourcecode language=»php»]
    $first_img = $matches [1] [0];
    [/sourcecode]
  3. Скрипт ищет картинку в посте с помощью регулярного выражения. Он работает только, если картинка не является ссылкой, то есть вариант:
    [sourcecode language=»php»][/sourcecode]
    не будет работать.

Данную функцию необходимо скопировать в файл functions.php вашей темы. Для того чтобы использовать её, нужно в шаблоне прописать следующий код:
[sourcecode language=»php»]
wordpress

Метки: