Меню

Как Сделать Список Из Миниатюр Записей?

Использование картинок на сайте — обязательное условие, если вы ходите, чтобы он был популярным как в глазах поисковиков, так и в глазах читателей. Согласитесь, статью, которая разбавлена интересными изображениями, всегда читать гораздо приятнее, чем сплошной текст. Тем более, картинки легко можно найти через поиск Яндекс или Гугл. Для привлечения читателей также используется миниатюра записи с помощью встроенной в 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 без него, а также самые комментируемые записи за какой-то отрезок времени. Надеюсь, они будут для Вас полезны!

Комментарии 7

  • Попробовал. У мпеня не очень красиво получилось. Решил убрать!

  • А как реализовать вывод миниатюр похожих записей в сайдбаре?

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

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

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

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

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *