Как сделать список из миниатюр записей?

Использование картинок на сайте — обязательное условие, если вы ходите, чтобы он был популярным как в глазах поисковиков, так и в глазах читателей. Согласитесь, статью, которая разбавлена интересными изображениями, всегда читать гораздо приятнее, чем сплошной текст. Тем более, картинки легко можно найти через поиск Яндекс или Гугл — здесь можно прочитать о том, как это сделать. Для привлечения читателей также используется миниатюра записи с помощью встроенной в WordPress функции превью. Повышению поведенческих факторов служит также список похожих постов, публикуемый в конце статьи. Проще говоря, он используется для того, чтобы посетитель, пришедший из поисковика, заинтересовался чем-то еще на блоге и перешел по ссылке на статью из этой же категории. Сегодня мы как раз объединим эти два условия — сделаем список похожих записей, состоящий из миниатюр записей.

Related Posts Thumbnails

Существует много плагинов для реализации этой фишки — ниже привожу список самых популярных. Я же остановился на использовании плагина Related Posts Thumbnails. Скачали — установили — активировали.

Думаю, что в его настройках разберется любой, тем более что он полностью русифицирован. Единственное, на что следует обратить внимание — по умолчанию установлена галочка на автоматическом отображении списка на страницах. Удобно, если не хотите править код шаблона, но в этом случае миниатюры могут отображаться не всегда в том месте, где это нужно. Поэтому лучше воспользоваться кодом

<?php get_related_posts_thumbnails(); ?>

который вставляется в файле single.php, например после использования функции «the_content». Есть возможность даже настроить стиль отображения миниатюр похожих записей. Получается примерно следующее:

Если же вы не хотите применять этот плагин на всех страницах, то воспользуйтесь шорткодом, который можно вставить в отдельные статьи:

[catlist name=НАЗВАНИЕ КАТЕГОРИИ excerpt=yes numberposts=4]

Другие плагины для отображения миниатюр похожих записей





Smart Related Posts Thumbnails
WP Thumbie
И, наконец, сделать это можно в уже разобранном нами плагине вывода похожих записей.

Список миниатюр похожих записей без плагина

Теперь остаются только любители делать все своими руками. Вооружаемся головой и открываем в редакторе шаблона (Внешний вид > Редактор) файл single.php — именно он отвечает за одиночные записи. Добавляем после кода вывода статьи следующее:

<h3>Похожие статьи</h3>
 <?php
$categories = get_the_category($post->ID);
if ($categories) {
    $category_ids = array();
    foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
    $args=array(
    'category__in' => $category_ids,
    'post__not_in' => array($post->ID),
    'showposts'=>4,
'orderby'=>rand,
    'caller_get_posts'=>1);
    $my_query = new wp_query($args);
    if( $my_query->have_posts() ) {
    echo '<ul>';
    while ($my_query->have_posts()) {
    $my_query->the_post();
?>
<li><div id="blok"><span style="width:140; height:90;"><?php the_post_thumbnail(); ?></span><br><span><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></span></div></li>
<?php
}
echo '</ul>';
}
wp_reset_query();
}
?>
</div>

Обратите внимание на строку [code]’showposts’=>4, — здесь можно настроить количество отображаемых миниатюр.
А строка [code]’category__in’ => $category_ids,. Она отвечает за выборку статей по категории. Если нужно выводить список записей по меткам, то замените ее на

'tag__in' => $tag_ids,

Последние записи

Следующий шаг — научиться делать список из миниатюр недавно добавленных записей. Для этого будем использовать такой код:

<?php $postslist = get_posts('numberposts=10&order=DESC'); foreach ($postslist as $post) : setup_postdata($post); ?>

<a href="<?php the_permalink(); ?>"><img src="<?php echo bloginfo('template_url'); ?>/scripts/timthumb.php?src=/<?php
$values = get_post_custom_values("Image"); echo $values[0]; ?>&w=300&h=275&zc=1&q=100"
alt="<?php the_title(); ?>" class="footer-thumb"  width="40px" height="40px"  /></a>

<p><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?> &raquo;</a></p>

<p><?php the_time('F j, Y') ?> : <?php comments_number('Комментариев: 0','1 комментарий','% комментариев'); ?></p>

<?php endforeach; ?>

Здесь в строке «numberposts=10&order=DESC» мы задаем количество выводимых новостей (10) и сортировка по дате на убывание (DESC).

Комментируемые записи

Еще одна полезная возможность — отображать те статьи, в которых больше всего читатели оставили комментарии. Здесь мы обойдемся опять же без плагинов. Находим код вывода текста статьи — обычно это

<?php the_content (); ?>

И добавляем следующее:

<?php $popular = new WP_Query('orderby=comment_count&posts_per_page=4'); ?>
    <?php while ($popular->have_posts()) : $popular->the_post(); ?>
    <?php $justanimage = get_post_meta($post->ID, 'thumbnail', true);
        if ($justanimage) { ?>
    <img src="<?php echo get_post_meta($post->ID, "Image", true); ?>" alt="<?php the_title(); ?>" />
    <?php } else { ?>
    <img src="http://ВАШ_ДОМЕН.ru/alt-image.jpg" alt="" />
    <?php } ?>
    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php endwhile; ?>

Участок «orderby=comment_count&posts_per_page=4» отвечает за то, что записи сортируются по количеству комментариев и на страницу выводится 4 штуки оных. Число можно легко поменять.

Если усложнить этот пример, то можно не просто публиковать миниатюры самые популярных постов, но отображать самое комментируемые записи за какой-либо период. Такая вещь реализована на данном блоге — взгляните на главную страницу.

Чтобы сделать то же самое, откройте functions.php и добавьте новую функцию:

function most_popular_thumbnail(){
    $current_month = date('n');
    if($current_month==1){ $last_month=12; }else{ $last_month=$current_month-1; }
    $args = array(
    'posts_per_page' => 5,
    'monthnum'       => $last_month,
    'orderby'        => 'comment_count',
     );
    ?>
   <h1>Комментируемые статьи</h1>
<?php query_posts($args); ?>
<?php  while (have_posts()) : the_post(); ?>
   <a href="<?php the_permalink(); ?>" title="<? the_title(); ?>"><?php the_post_thumbnail( 'thumbnail' ); ?></a>
<? endwhile; ?>
<?
wp_reset_query();
}

Данный конкретный код выводит самые комментируемые посты за прошедший месяц.
Разберем его поподробнее:
«$current_month = date(‘n’);» — указываем, что переменная «current_month» будет у нас номером месяца (в php это «n»).
«if($current_month==1){ $last_month=12; }else{ $last_month=$current_month-1» — здесь мы говорим о том, что если месяц Январь (1), то предыдущий будет Декабрь (12). В другом случае предыдущем месяцем будет тот, номер которого равен текущему минус 1 («$last_month=$current_month-1»)
«‘posts_per_page’ => 5,» — здесь задается количество отображаемых миниатюр.

Я у себя еще больше усложнил этот пример. Я решил отображать до 14го числа — комментарии за прошлый месяц, а с 14го — за текущий.

function most_popular_thumbnail(){
    $current_month = date('n');
$current_day = date ('j');
    if($current_month==1){ $last_month=12; }else{ $last_month=$current_month-1; }
    $args = array(
    'posts_per_page' => 5,
    'monthnum'       => $last_month,
    'orderby'        => 'comment_count',
     );
$args2 = array(
'posts_per_page' => 5,
'monthnum'       => $current_month,
'orderby'        => 'comment_count',
     );
    ?>
<?php 
if ($current_day<=14) { 
query_posts($args); } else { query_posts($args2); } ?>
<?php  while (have_posts()) : the_post(); ?>
   <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail(array (70, 70));?></a>
<? endwhile; ?>
<?
wp_reset_query();
}

Пришлось добавить еще одну переменную, отвечающую за дату — «$current_day = date (‘j’);»
Добавить не один, а уже два массива, отвечающие за вывод записей за предыдущий месяц и за текущий ($args и $args2).
И добавить новое условие, при котором до 14го числа выводится $args, а после — $args2 — «if ($current_day<=14) { query_posts($args); } else { query_posts($args2); }"




Ну и наконец, для того, чтобы отобразить все это дело на самом сайте, в код шаблона добавляем небольшую строку:

<?php most_popular_thumbnail(); ?>

Если немного поиграться, то можно вывести новости за любой период.

Миниатюры похожих записей в виде слайдера

Теперь рассмотрим еще один интересный плагин, который позволит создать список миниатюр связанных записей из категории в виде слайдшоу. Это Featuret Posts Scroll. У него есть несколько шорткодов для вывода картинок на экран.

[fps] — выведет любые произвольные миниатюры записей
[fps cat="1"] — миниатюры из определенной категории по ID
[fps cat="1,2,3,4,5"] — из нескольких категорий
[fps cat="-1"] — исключить показ записей из определенной рубрики
[fps tag="wordpress"] — фильтр по метке
[fps cat="1" tag="wordpress"] — одновременно по метке и рубрике

Эти коды надо вставить непосредственно в конкретной новости в редакторе. Если же необходимо отображать миниатюры во всех записях, то открываем single.php и добавляем код:

<?php if (function_exists('fps_show')) {
            $args = array(
                'cat'     => '',/* через запятую ID рубрик, с минусом если хотите исключить категорию */
                'tag'     => '' /* через запятую метки*/);
            echo fps_show($args);
        }?>

В работе плагин будет выглядеть вот так:

Список миниатюр записей

Вот такие приемы, которые позволят вам выводить миниатюры записей из той же рубрики при помощи плагина Related Posts Thumbnails без него, а также самые комментируемые записи за какой-то отрезок времени. Надеюсь, они будут для Вас полезны!

Поделись этой статьей с друзьями!

Это будет интересно прочитать:

    • 1. Установить плагин exec-php
      2. Вставить в виджет код цикла вывода новостей, в котором прописать только миниатюры со ссылкой на статью из определенной категории. Как это сделать описано в статьях «Вывод новостей на главной странице»

      • Спасибо, Александр! Кстати, сегодня узнала, что Вы тоже учились по курсам Борисова. Ваш блог на его продающей страничке :)Хочу купить его новый курс. Вы еще не покупали?

        • Пожалуйста! Не совсем так, я учился сам, читая многие блоги, а курсы мне достались бесплатно при участии в его конкурсах. Скажу, они весьма неплохие, но за такие деньги покупать бы не стал )

  • Курсы Александра Борисова очень интересные и содержат ценную информацию. Александр знает, что делает. Все его знания подтверждены практикой.

  • Хоть не люблю лишних плагинов, но миниатюры записей выводила с помощью Related Posts Thumbnails. Мне понравился этот плагин, работал корректно.

Добавить комментарий