Создание темы для WordPress. Поддержка миниатюр
Доброго времени суток. Мы с Вами продолжаем создавать уникальную тему для CMS WordPress. Так в прошлой статье мы разобрались с формой поиска, а также создали шаблон вывода результатов поиска. А сегодня остановимся на включении в тему WordPress поддержки миниатюр. Что такое миниатюра я надеюсь Вы понимаете? Тогда приступим…
Давайте перейдем к созданию поста на нашем сайте:
и видим, что к посту мы можем добавить метки, можем добавить рубрики, но нет добавления миниатюры. Давайте исправим данное недоразумение и добавим поддержку миниатюр в создаваемую нами тему.
Для этого откроем файл functions.php нашей темы и добавим в него следующий код:
<?php //Добавление поддержки миниатюр add_theme_support('post-thumbnails'); set_post_thumbnail_size(160, 100); ?>
И сохраним наш файл. Теперь давайте перейдем к созданию поста.
И видим у нас появилась вставка миниатюры. Теперь давайте разберем код. который мы прописали в файле funtions.php.
Функция add_theme_support
add_theme_support($feature) — функция позволяет добавить в тему поддержку определенных функций, где $feature может принимать следующие значения:
- ‘post-formats’ — включение поддержки форматов, доступно с версии 3.1
- ‘post-thumbnails’ — включает поддержку миниатюр
- ‘custom-background’ — включает поддержку фонового изображения
- ‘custom-header’ — включает поддержку добавления изображения в заголовок
- ‘automatic-feed-links’ — включает поддержку RSS канала
Функция set_post_thumbnail_size
set_post_thumbnail_size($width, $height, $crop) — устанавливает размер миниатюр по умолчанию, где:
- $width — ширина миниатюры в пикселях
- $height — высота миниатюры в пикселях
- $crop — обрезка изображения. По умолчанию false, т.е. изображение уменьшается пропорционально. При обрезке (т.е. поставить значение true) в центре изображения выделиться прямоугольник заданного размера, а остальное обрежется.
Отлично с настройкой вставляемых миниатюр мы разобрались. Теперь нам надо сделать, что бы данные миниатюры отображались.
Вывод миниатюр в теме WordPress
Для вывода миниатюр в теме для WordPress, используется функция the_post_thumbnail(). Давайте я на главной странице хочу выводить выдержку из статей с миниатюрами.
Как Вы помните, что за главную страницу нашего сайта отвечает файл index.php. Откроем его и добавим следующий код:
<?php get_header() ?> <div id="content"> <div id="center"> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div id="posts"> <h2><a href="<?php the_permalink() ?>"><?php the_title() ?></a></h2> <div id="post_info"> <div>Автор: <?php the_author() ?></div> <div>Дата добавления: <?php the_date() ?></div> <div id="clear"></div> </div> <?php the_post_thumbnail(); ?> <p><?php the_excerpt(); ?></p> <span>Категория: <?php the_category(', ') ?></span> </div> <?php endwhile;?> <?php else : echo "Sorry, no posts were found"; endif; ?> </div> <?php get_sidebar() ?> <?php get_footer() ?>
Сохраним и проверим, что у нас получилось.
Давайте создадим новую статью и добавим в нее миниатюру:
Выберем необходимый файл и укажем его как миниатюру:
Теперь мы видим, что в нашей статье появилась миниатюра:
Опубликуем данную статью и перейдем на наш сайт:
Видим, что вместе с выдержкой статьи в создаваемой нами теме появилась заданная миниатюра. Да вывод немного кривоват, но я думаю, что поколдовав с CSS вы все наладите. А на этом все, я заканчиваю статью посвященную включению поддержки миниатюр в теме WordPress и вывод данных миниатюр.
А в следующей статье мы с Вами создадим страницу ошибки 404. Так, что не пропускайте выхода новых постов, подписавшись на RSS рассылку или на рассылку по email новых статей данного блога.
[…] темы для WordPress. Так в прошлой статье мы добавили к теме поддержку миниатюр для постов. А сегодня мы создадим страницу ошибки 404, страницу […]
Так а как колдовать с какскадной таблицей стилей чайнику не просто разобраться.
спасибо огромное
Функция миниатюры изначально была, дней через 5 после наполнения и настройки блога она пропала, выложил статью новую ,хотел так же как и раньше миниатюру вывести..а этой функции нет…»add_theme_support(‘post-thumbnails’);» это в коде уже было прописано..ничего не помогает из выше написанного..плагины тоже отключал