Столкнулся с задачей при сборке очередного скина для 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

А как сделать чтобы отдельно выводился превью , а то первая картинка налаживается с той что в тексте
в functions.php включаем поддержку превью у нужного типа записи
add_theme_support( 'post-thumbnails', array('post','page', 'свой кастомный тип' ) );там же задаем нужные размеру нашего превью
при выводе записей, например постов в цикле пишем
проверяем задано превью у поста? если есть то показываем его
if ( has_post_thumbnail($post->ID)) { /*путь к превью нужного размера*/ $bgimage=wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail_200x300' ); }