Таким образом, для тысяч пользователей, использующих WP в качестве CMS, типичным подходом является использование параметра «Статическая страница» на странице администрирования «Настройки»> «Чтение».
Однако я нахожусь в другом сценарии: наша главная страница отображает статический контент ( шаблон home.php управляет этим), и у нас есть вторичная статическая страница (называемая News ), которая должна отображать список самых последних сообщений (то, что вы обычно найти на первой странице среднего блога).
Я настроил страницу новостей для использования пользовательского шаблона ( page-NewsIndex.php ); основанный на шаблоне TwentyTen archive.php, этот файл отображает заголовок, вызывает rewind_posts(), а затем вызывает get_template_part(‘loop’, ‘newsindex’), так что мы оказываемся в loop.php (или loop-newsindex.php, если он существует). Персиковый.
Loop.php имеет типичную структуру циклов (опять же, на основе шаблона loop.php TwentyTen, измененного для упрощения, поскольку нам не нужны 3 типа циклов):
<?php while ( have_posts() ) : the_post(); ?>
Однако, когда мы обращаемся к странице, этот цикл, похоже, использует текущий URL-адрес для определения отображаемых сообщений, как если бы страница новостей определяла категорию, что не так для нас. Какие query_posts я бы использовал для имитации запросов query_posts, которые WP обычно запускает для вас, когда вы попадаете на первую страницу типичного блога?
Я получаю сообщения в своем блоге следующим образом:
Затем вы пойдете и создадите код для управления отображением каждого сообщения. Итак, для действительно простого примера:
Затем в конце сообщений вам просто нужно закончить цикл while:
Похоже, это может сработать для нас — я попробую, как только смогу, и дам вам знать (я приму ответ, как только смогу подтвердить, что он работает) — Спасибо!
Наконец-то добрался до проверки вашего предложения, и оно отлично работает для меня. В итоге я использовал query_posts(»); вместо создания нового экземпляра WP_Query, но это только потому, что в моем случае мне действительно не нужно использовать основной объект запроса. Спасибо, что поставили меня на правильный путь!
Рад, что это сработало для вас 🙂
правильно: пока вообще не использую настройку «Чтение». Я знаю, что это звучит очень похоже на случай, для которого предназначался параметр «Чтение» > «Главная страница» — можно попытаться соответствующим образом переработать тему, если у нас нет более быстрого решения — спасибо (и да, я не знаю, почему петля в новостях действует как категория — подозревал, что WP просматривает URL-адрес запроса, находит /News и действует так, как будто это архив для категории новостей)
Просто чтобы быть уверенным — вы вообще не используете
Reading
настройки здесь? Просто обычная домашняя страница и обычная статическая страница?News
страница является статической страницей, поэтому ее цикл (собственный цикл WP, созданный из URL-адреса) должен отражать это (поэтому не уверен, как это выглядит как категория);query_posts()
это функция, предназначенная для настройки такого родного Loop. Вы не должны использовать его здесь, потому что вы попытаетесь принудительно изменить статическую страницу на страницу индекса, что приведет к ужасным ошибкам.WP_Query
илиget_posts()
отображать некоторые сообщения на статической странице, но, скорее всего, у вас не будет работать разбиение на страницы.В общем, я чувствую, что вы изобретаете велосипед здесь.
Settings > Reading
кажется идеальной парой.Front page
со своим статическим содержимым иfront-page.php
шаблоном.Posts page
который будет автоматически использовать Цикл по умолчанию для последних сообщений или может быть настроен с помощьюhome.php
шаблона.Это похоже на то, что вы пытаетесь получить, нет?
PS TwentyTen
loop.php
меня пугает. Похоже, юзабилити и здравому смыслу принесли в жертву максимальную условную гибкость.Я не уверен, что это именно то, что вам нужно, но, возможно, вы хотели бы взглянуть на мой обходной путь. Это функция, которая отображает список постов в любом месте с миниатюрами для первого изображения поста.
http://wpworks.wordpress.com/2011/02/01/display-wordpress-post-list-with-custom-size-thumbnails/
Я надеюсь, что вы найдете это полезным.
С уважением,
Альваро