Сегодня 15 февраля, суббота ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7278
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
Человек-Хэмингуэй
Человек-Хэмингуэй
Голосов: 2
Адрес блога: http://kvisaz.ru
Добавлен: 2007-12-13 21:24:07 блограйдером Luber
 

Циклическая перелинковка в Wordpress

2013-08-24 12:44:06 (читать в оригинале)

По умолчанию в Wordpress есть функции next_post_link и previous_post_link, которые выводят в шаблоне темы ссылки на следующий и предыдущий пост. Это здорово, но что, если хочется сделать полноценную циклическую перелинковку? То есть, чтобы последний пост ссылался на самый первый?

Сегодня для этих целей нашёл простое и относительно малозатратное решение - плагин Ambrosite Next/Previous Post Link Plus. Он одним файлом, что добавляет плюсов. Я люблю, когда плагины одним файлом - потому что каждый дополнительный файл в плагине - это дополнительная нагрузка, дополнительное обращение к файловой системе.

А ещё однофайловые плагины довольно просто допиливать вручную и оптимизировать. Кстати, базовая оптимизация однофайловых плагинов - это их копирование в один PHP-файл - этакий мультиплагин ручной сборки. Я это часто использую, потому что, как я уже сказал, каждое обращение к файловой системе - это довольно дорогое действие и если плагины одного типа (скажем, обработка контента, отдаваемого пользователю), то лучше их делать сразу в одном файле. Но я отвлёкся.

Так вот, этот Амброзит активируешь и затем в шаблоне темы в нужном месте, после поста, а можно и до - ставишь так

next_post_link_plus(’order_by=post_date&in_same_cat=1&num_results=3&loop=1&ex_posts=’.$LastID);

Что это значит? Это означает, что на странице будут
- выведены ССЫЛКИ на посты, следующие после этого поста (функция next_post_link_plus)
- отсортированные по дате (order_by=post_date)
- в той же категории (in_same_cat=1)
- количеством 3 штуки (num_results=3)
- в случае, если следующих постов не хватит - будут взяты самые первые (loop=1)
- за исключением текущего поста (ex_posts=’.$LastID)

Последний параметр я использовал только для того, чтобы в рубрике с очень малым количеством постов не было ссылки из этого же поста на тот же пост. К примеру, в рубрике всего три поста, а у меня задано выводить три следующих - естественно, что исчерпав список следующих, плагинчик начнёт брать сначала и возьмёт этот же пост. Чтобы этого не было, в ex_posts надо передать его собственный ID.

$LastID - это моя переменная для обозначения iD текущего поста, не подставляйте код как есть. В принципе, можете вообще exposts не использовать, если посты в рубриках прибывают - самоциклическая ссылка на себя же вылечится сама.

Собственно, всё. Отмечу лишь, что это решение я взял, потому что плагин YARRP, который советовал Пузат
- оказался гораздо более сложным в плане допиливания
- не гарантирует цикличности, он просто подключает “подходящие посты” в конце

А Амброзит создаёт настоящую цикличность, причем релевантность и количество постов очень хорошо настраивается через кучу параметров, которые описываются на странице разработчика.

Юзайте его, это лучшее простое решение для настоящих циклических ссылок, что я нашел сейчас. Можно делать циклические ссылки по авторам, по категориям, по тегам - и комбинировать это в одном посте, создавая не одно, а множество колец.

PS: а ещё он может показывать превьюхи к постам. Не, это маст-хэв однозначный.


Тэги: wordpress

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по количеству голосов (152) в категории «Истории»
Изменения рейтинга
Категория «Стихи»
Взлеты Топ 5
+223
233
CAPTAIN
+196
256
Yurenzo
+185
193
Simple_Blogger
+171
263
Annelle
+166
246
Similis_Deo
Падения Топ 5


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