Выводим обновленную запись на первое место на главной странице

Выводим обновленную запись на первое место на главной странице

5/5 - (1 голос)

Сегодняшний небольшой пост я посвящу функции 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 комментариев

  1. Пагинация слетела, при переходе на другую страницу отображается тот же самый контент, что и на главной. Как исправить?

  2. query_posts($query_string.’orderby=modified’);
    на главной стали выходить последнее обновлённые. то что надо.

    но мне надо чтоб и в категориях тож вылезала наверх если обновить запись. подскажите пожалуйста что ещё дописать и куда.

    Заранее Спасибо!! =)

  3. или наоборот. я хочу чтоб обновлялась только категория, а не главная.
    Жду с нетерпением ответа =))

  4. Разместите этот код тогда в файле шаблона, отвечающем зы вывод категорий

  5. Вставил в код шаблона как указано. На главной все обновления отображаются нормально. Но, пропало содержимое категорий. Кликаешь по такой то и получаешь страницу
    «К сожалению ничего не найдено.Может вернуться на предыдущую страницу ?»
    Как то это можно поправить?
    Спасибо за ответ.

  6. Здравствуйте, а как это сделать в теме, созданной в артистере?
    Куда только не вставлял данный код, не получается.

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

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