Выводим обновленную запись на первое место на главной странице
Сегодняшний небольшой пост я посвящу функции query_posts и тому, как с помощью нее можно выводить обновленную запись на первое место на главной странице. Иногда, в зависимости от структуры сайта и способа его ведения, возникает необходимость обновленные или дополненные записи вывести на первое место на главной странице. При таком раскладе запись, находящаяся уже не на главной странице, перемещается на первое место и располагается выше остальных до тех пор, пока на сайте не появится новая. Так будет происходить при каждом обновлении записи, при этом дата опубликования всегда будет оставаться первоначальной. Я уже писал в одном из предыдущих постов о функции query_posts, которая позволяет выводить записи согласно заданным критериям и как с помощью нее вывести на сайте случайные записи. C помощью нее, по заданному критерию, можно также и выводить обновленную запись на первое место на главной странице. Давайте вновь вернемся к этой функции и посмотрим, какие параметры нужно задать ей для вывода обновленных записей на первое место.
Функцию с заданными параметрами необходимо добавить непосредственно перед началом основного цикла. Найдите в вашем шаблоне начало основного цикла, который начинается со строчки:
<?php while ( have_posts() ) : the_post(); ?>
и вставьте перед ней строку с функцией:
<?php query_posts($query_string.'orderby=modified'); ?>
либо допишите функцию в условие проверки на наличие постов:
<?php if ( have_posts() ) : query_posts($query_string.'orderby=modified'); ?>
С параметром ‘orderby=modified’ все предельно понятно, он сортирует записи согласно их обновлению, а вот о переменной $query_string поговорим поподробнее. Глобальная переменная $query_string сохраняет постоянные ссылки ваших постов, которые перемещаются на главной странице на первое место после их обновления.Дело в том, что если не использовать эту переменную, то обновленные посты будут перемещаться не только на главной странице, но и в категориях, в которых они размещены, а также в архивах. Думаю, понятно, что перемещение записи приведет к изменению ее постоянной ссылки, а то значит, что по прежней ссылке вашу запись уже будет невозможно найти. Вот поэтому глобальная переменная $query_string позволяет сохранить информацию о расположении записей на страницах и в категориях.
Выводим обновленную запись на первое место на главной странице: 7 комментариев
Пагинация слетела, при переходе на другую страницу отображается тот же самый контент, что и на главной. Как исправить?
query_posts($query_string.’orderby=modified’);
на главной стали выходить последнее обновлённые. то что надо.
но мне надо чтоб и в категориях тож вылезала наверх если обновить запись. подскажите пожалуйста что ещё дописать и куда.
Заранее Спасибо!! =)
В категориях тоже должно происходить обновление
или наоборот. я хочу чтоб обновлялась только категория, а не главная.
Жду с нетерпением ответа =))
Разместите этот код тогда в файле шаблона, отвечающем зы вывод категорий
Вставил в код шаблона как указано. На главной все обновления отображаются нормально. Но, пропало содержимое категорий. Кликаешь по такой то и получаешь страницу
«К сожалению ничего не найдено.Может вернуться на предыдущую страницу ?»
Как то это можно поправить?
Спасибо за ответ.
Здравствуйте, а как это сделать в теме, созданной в артистере?
Куда только не вставлял данный код, не получается.