Миниатюры в WordPress


www.workzilla.ru

 

Наверняка Вы замечали, что многие блоги используют картинки-анонсы к своим постам. Это непосредственный вывод анонса записи, вместе с картинкой. То есть в самое начало статьи, вставляется картинка определённых размеров, и ставится тег  <!—more—> в то место, где мы хотим видеть ссылку «Далее». Добиться такого же эффекта можно используя функции php или встроенные возможности WordPress.

 

Функции php

Использование функции PHP позволяет автоматически вставлять первое изображение вашего постав качестве превью (уменьшенная копия изображения), без использования настраиваемых полей. Чтобы воспользоваться данной функцией добавьте следующий код в functions.php

 

// Получение первой картинки с поста
function catch_that_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;
}

 

После этого откройте файл index.php (или другой файл в зависимости, где вы хотите показывать миниатюры, это могут быть файлы archive.php, search.php, category.php) вашей темы и вставьте следующий код внутри цикла, где должно отображаться изображение.

<img src="<?php echo catch_that_image() ?>" width="200"/>

width="200" – ширина изображения в пикселях

class="alignleft" – делает картинку обтекаемой текстом

Использовать данный способ вывода превью лучше с самого начала, на стадии планирования шаблона.

Встроенные возможности WordPress.

Начиная с версий WordPress 2.9  и старше, появилась возможность использования миниатюры при создании записи. Для того, чтобы Ваша тема поддерживала возможность вывода миниатюр, необходимо добавить несколько строк кода в Ваш файл функций functions.php, который расположен в каталоге Вашей темы.  (Возможно данная функция уже подключена).

 

add_theme_support('post-thumbnails');
 
if ( function_exists('add_theme_support') ) {
 
add_theme_support('post-thumbnails');
 
}

Теперь, при вводе нового поста справа в панели появляется новый виджет.

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

<?php the_post_thumbnail(array( 200,200 ), array( 'class' => 'alignleft' )); ?>

его нужно вставить  файлах index.php, archive.php, search.php, category.php (в зависимости от того, на каких страницах сайта нужно показывать миниатюры).

array ( 200,200 ) -Задаваемый размер миниатюры

array ( 'class' => 'alignleft' ) — обтекаемость текстом

Важно!!! Перед любыми изменениями  сохраняйте “родные” файлы. Если изменения плохо отражаются на работе сайта, верните “родные” файлы обратно.

Похожие записи

3 комментария на “Миниатюры в WordPress”

  • Большое спасибо, как раз при смене шаблона возникла проблема, что в новом не использовался ввод миниатюр. Ваш пост просто спас))

  • Вот только при добавлении миниатюры стала вылазить ошибка в момент сохранения поста.

    Warning: Cannot modify header information - headers already sent by (output started at /home/p85697/www/florenz.ru/wp-content/themes/peppers/functions.php:12) in /home/p85697/www/florenz.ru/wp-includes/pluggable.php on line 881

    Хотя, вроде все сохраняет. Вы не в курсе, от чего это может быть? Использовал только Ваш код:

    add_theme_support ('post-thumbnails');

    if ( function_exists ('add_theme_support') ) {

    add_theme_support ('post-thumbnails');

    }

    Вордпрес версии 3.4.2 Другие коды не вставлял.

  • Разобрался сам. Оказывается, достаточно было просто вписать строчку

    add_theme_support ('post-thumbnails');

    В имеющийся ПХП блок)))

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

Поиск
Мебель на заказ

Частный мастер 8(909)676-75-73