Недавно родилась идея (может это дежавю или встречал на некоторых шаблонах, но забыл) сделать отображение постов на архивных и ярлычных страницах только списком в виде заголовков статей.
Зачем? Чтобы этот ковёр, из фиг знает, скольких сообщений загружался быстро и без картинок. Да и посетителю легче пробежаться взглядом по списку, чем лазить между блоками текста и изображений (некоторые из нас постят демотиваторы на пол экрана).
Не буду лукавить, а я нашёл в интернете, что отображение только заголовков постов на архивных страницах изобрели ещё до моего "озарения".
Правильно говорят, что всё новое - это хорошо забытое старое.
Хотя в той статье речь шла только об архивах, но представленный способ рубит посты и оставляет только их заголовки везде (во всём блоге), кроме домашней страницы и внутренних, "статейных" страниц.
Я немного усовершенствовал код, и если кого заинтересовало, можете попробовать.
Для этого нужно:
а) сделать резервную копию шаблона (чтобы вернуть, если что-то не получилось)
б) найти в шаблоне строку:
<b:include data='post' name='post'/>
И заменить её на:
<!--ONLY-TITLES-STARTS-->
<b:if cond='data:blog.homepageUrl != data:blog.url'>
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:blog.pageType != "static_page"'>
<a expr:href='data:post.url'>
<data:post.title/></a><br/>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<b:else/>
<b:include data='post' name='post'/>
</b:if>
<!--ONLY-TITLES-STOPS-->
После сохранения вы получите в блоге архивные, ярлычные и индексовые (страницы "вперёд/назад") такого вида:
На скриншоте моя архивная страница за январь 2012 года. Сейчас я вернул всё, как было прежде в шаблоне (по личным соображениям).
Кстати, если вы хотите не резать до заголовков архивные страницы, а просто сократить количество выводимых на них статей за раз, то почитайте заметку "Как выводить определённое количество постов..."
Большое спасибо автору! Но вот мне нравится сразу видеть дату на открытой странице, для ориентации во времени:))
ОтветитьУдалить