WordPress: ссылка на следующую\предыдущую запись с миниатюрой

Заметил что в шаблоне подблога посвященного притчам отсутствуют ссылки на следующую и предыдущую запись. Людям которые хотят последовательно читать несколько притч будет не удобно постоянно возвращаться к списку притч.

Решил добавить такие ссылки, да еще и с миниатюрами - чтоб привлекательней смотрелось. Чтоб было понятно о чем я говорю можете посмотреть пример: перейдите в низ записи и посмотрите под кнопками социальных сетей на блоки "Предыдущая притча", "Следующая притча".

Для того, чтоб добавить в шаблон такие ссылки с миниатюрами необходимо отредактировать в шаблоне файл single.php. Добавьте в него следующие строки:

<?php /* start: вывод предыдущей и следующей записи с миниатюрами */ ?>
<div id="cooler-nav" style="font-size:12px;margin-top: 10px;"> 
  <?php $nextPost = get_next_post();
  if($nextPost) { ?>
    <div class="nav-box next" style="float:left;width:140px;border:dotted 1px black;padding-bottom:5px;padding-top:5px;">
      <center>
        <div style="margin-bottom:5px">
          <?php echo "<b>Следующая запись:</b>"; ?>
        </div>
        <?php $nextthumbnail = get_the_post_thumbnail($nextPost->ID, array(140,140) );?>
        <?php next_post_link('%link',"$nextthumbnail %title"); ?>
      </center>
    </div>
  <?php } ?> 
  <?php $prevPost = get_previous_post();
  if($prevPost) {?>
    <div class="nav-box previous" style="float:right;width:140px;border: dotted 1px black;padding-bottom:5px;padding-top:5px;">
      <center>
        <div style="margin-bottom:5px">
          <?php echo "<b>Предыдущая записб:</b>"; ?>
        </div>
        <?php $prevthumbnail = get_the_post_thumbnail($prevPost->ID, array(140,140) ); ?>
        <?php previous_post_link('%link',"$prevthumbnail %title"); ?>
      </center>
    </div>
  <?php } ?> 
</div> <!-- #cooler-nav div -->
<?php /* end: вывод предыдущей и следующей записи с миниатюрами */ ?>

Естественно чтоб миниатюры отображались необходимо выполнение двух вещей:

  • шаблон поддерживает миниатюры
  • при публикации записей вы задаете для нее миниатюру.

Вот и все. Будут вопросы - пишите.

Понравилось? =) Поделись с друзьями:

Обсуждение записи “WordPress: ссылка на следующую\предыдущую запись с миниатюрой”

  1. Галина says:

    Владимир, я в восторге от Вашего ресурса!!! Столько интересной и полезной информации!
    В прошлый раз, когда посещала Вас, так зачиталась, что забыла даже комментарии оставить.
    Так как, я очень люблю WordPress, то в первую очередь сую нос в рубрики про этот замечательный движок. Вот и сейчас нашла для себя очень интересную полезность.
    Только напишите, пожалуйста, куда, вернее в каком месте single.php вставить этот код? Это имеет какое-либо принципиальное значение?
    Или можно вставить в самом конце?
    С уважением, Галина.

  2. Владимир Демянович (elims.org.ua) says:

    Спасибо за комплимент =)

    Да, место имеет значение. Место нахождения миниатюр с ссылками на предыдущие\следующие записи зависит от того, в какое место файла Вы вставите.

    У вас ссылки на предыдущие и следующие записи находятся в самом верху записи, а значит где-то в начале файла single.php. Там должны быть приблизительно такие строки:

    _div class=»navigation clearfix»>
    _div class=»alignleft»>< ?php previous_post_link('« %link') ?>_/div>
    _div class=»alignright»>< ?php next_post_link('%link »') ?>_/div>
    _/div>

    Если вам нужно именно там и расположить эти ссылки с миниатюрами, вместо текстовых, то можете просто заменить эти строки.

    Стоит понимать что в разных шаблонах файл single.php различается, потому не видя этот файл я не могу с полной уверенностью утверждать куда этот код вставлять.

    Но ничего не мешает Вам по экспериментировать. Просто сделайте резервное копирование вашего сайта и экспериментируйте. Если вдруг что поломается — просто вернетесь к предыдущему состоянию сайта на тот момент когда создавали резервную копию. Хотя по сути вам нужно скопировать только файлик single.php, ведь Вы будете только его изменять.

  3. eavasi says:

    Спасибо. Ваш код, после небольшой трансформации, встал на мой сайт, как влитой!

Обсудить