Получение первой картинки из поста в WordPress

Столкнулся с задачей при сборке очередного скина для wordpress. Необходимо было выводить первую картинку из поста в списке постов отдельно от текста поста.

Для реализации этого функционала необходимо добавить в файл темы functions.php кусок кода

function post_first_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i',
$post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){
//-- если нет картинок добавляем  путь
на изображение по умолчанию
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}

а в шаблоне где необходимо вы водить картинку добавить post_first_image()

Уточню.

Функция  post_first_image() возвращает путь к первому изображению в текущем посте, т.е. ее необходимо добавлять в виде  <img src=»<? post_first_image();?>» >

А также

В версию WordPress 2.9 добавлена функция post_thumbnail

Для активации в functions.php добавляем код

if ( function_exists( ‘add_theme_support’ ) ){
add_theme_support( ‘post-thumbnails’);
//— задаем  по умолчанию размер превью
set_post_thumbnail_size( 50, 50, true );

//— задаем размер превью картинки для показа на странице поста
add_image_size( ‘single-post-thumbnail’, 400, 9999 );
}
//— включаем поддержку превъю только для  постов
add_theme_support( ‘post-thumbnails’, array( ‘post’ ) );

//-- включаем поддержку превъю только для  страниц
add_theme_support( 'post-thumbnails', array( 'page' ) );

Тэги:

  • WordPress Получение id родительской рубрики
  • Небольшой апдейт news.yandex.ru WordPress RSS2.0
  • WordPress установка параметров
  • WordPress -Удалить тег p
  • WordPress is_home() работает некорректно
  • WordPress подключение JQuery
  • Валидация email в WordPress
  • Базовая структура шаблона (themes) WordPress
  • Печать картинки на странице через js
  • WordPress получить страницу или пост по его slug
  • WordPress Список пользователей по роли
  • WordPress term_description используем html
  • 2 комментариев на “Получение первой картинки из поста в WordPress”

    1. Вадим:

      А как сделать чтобы отдельно выводился превью , а то первая картинка налаживается с той что в тексте

    2. saintist:

      в functions.php включаем поддержку превью у нужного типа записи

      add_theme_support( 'post-thumbnails', array('post','page', 'свой кастомный тип' ) );
      

      там же задаем нужные размеру нашего превью

      add_image_size( $name = 'thumbnail_200x300', $width = 200, $height = 300, $crop = true );
      

      при выводе записей, например постов в цикле пишем

      проверяем задано превью у поста? если есть то показываем его

      if ( has_post_thumbnail($post->ID))
      		{
                          /*путь к превью нужного размера*/
                    $bgimage=wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_200x300' );
      
      		}
      

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