Июн
25

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

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

VN:F [1.9.16_1159]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.16_1159]
Rating: 0 (from 0 votes)

Понравилась статья? Поделитесь ею в социальных сервисах!

Подпишитесь на обновление блога!

Ваш e-mail:

Понравилась статья? Вы не хотите пропускать новые статьи, посвященные Wordpress? Тогда подпишитесь на RSS или на электронный ящик и получайте новые статьи мгновенно! Также можете следить за мной в Twitter.

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

  • Нет аватара
    mouse 28.07.2011 в 07:47

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

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Антон 15.11.2011 в 13:10

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

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

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

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 15.11.2011 в 21:39

      В категориях тоже должно происходить обновление

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Антон 15.11.2011 в 13:44

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

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 15.11.2011 в 21:40

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

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Sergiy 30.11.2012 в 21:11

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

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vitali 24.04.2013 в 12:03

    Здравствуйте, а как это сделать в теме, созданной в артистере?:
    Куда только не вставлял данный код, не полцчается. http://s019.radikal.ru/i612/1304/ad/80e374d377a3.jpg

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)

Оставить комментарий

Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.

Блог про wordpress и все, что с ним связано – возможности системы, секреты и хаки, плагины, шаблоны, оптимизация, seo, безопасность и т.п. Проект для начинающих и продвинутых пользователей.

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога по E-mail:

E-mail:

Последние комментарии

Друзья проекта