Как получить список сообщений на статической странице, кроме первой страницы?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/3170

Вопрос

Таким образом, для тысяч, использующих WP в качестве CMS, типичным подходом является использование опции «Статическая страница» со страницы «Настройки»> «Чтение администратора».

Тем не менее, я в другом сценарии: наша первая страница отображает статический контент (Home.php Шаблон управляет этим), и у нас есть вторичная статическая страница (называемая Новости), который должен отображать список самых последних сообщений (то, что вы обычно находите на первой странице среднего блога).

Я настроил страницу новостей, чтобы использовать пользовательский шаблон (Page-newsindex.php); На основе шаблона Twentyten's Archive.php, этот файл отображает заголовок, вызовы rewind_posts (), а затем вызывает get_template_part ('loop', 'newsindex'), чтобы мы в конечном итоге в Loop.php (или Loop-newsindex.php, если это существуют). Персиковый.

Loop.php Есть ли ваша типичная структура петли (опять же, на основе шаблона Twentyten Lo

<?php while ( have_posts() ) : the_post(); ?>

Однако, когда мы получаем доступ к странице, этот цикл, похоже, использует текущий URL -адрес для определения сообщений для отображения, как если бы страница новостей определяла категорию, что не относится к нам. Что будет для меня подходящим Query_posts для моделирования Query_posts, которые WP обычно работает для вас, когда вы попадаете на первую страницу типичного блога?

Это было полезно?

Решение

То, как я получаю сообщения в своем блоге, - это использовать следующее:

<?php $recentPosts = new WP_Query(); $recentPosts->query('showposts=5&cat=CAT_ID_GOES_HERE'); while($recentPosts->have_posts()): $recentPosts->the_post(); ?>

Затем вы пойдете и создадите код для управления отображением каждого поста. Итак, для действительно простого примера:

<h1 class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>

Затем, в конце постов, вам просто нужно закончить свою петлю:

<?php endwhile; ?>

Другие советы

Просто чтобы быть уверенным - вы не используете Reading Настройки здесь вообще? Просто обычная домашняя страница и обычная статическая страница?

  • ваш News Страница является статической страницей, поэтому ее цикл (нативный цикл WP, созданный из URL), должен отражать это (поэтому не уверен, как он кажется категорией);
  • query_posts() это функция, предназначенная для настройки такой нативной петли. Вы не должны использовать его здесь, потому что вы будете пытаться принудительно изменить статическую страницу на страницу индекса, которая заканчивается ужасными ошибками.
  • Вы можете использовать пользовательский WP_Query или же get_posts() Чтобы отобразить несколько сообщений на статической странице, BU, вероятно, вы не получите страницу для работы.

В целом я чувствую, что вы изобретаете колесо здесь. Settings > Reading кажется идеальной матч.

  1. Front page со статическим содержанием и front-page.php шаблон.
  2. Posts page это автоматически будет использовать цикл по умолчанию для последних сообщений или может быть настроен с помощью home.php шаблон.

Кажется, это точно так же, как вы пытаетесь получить, нет?

PS Twentyten loop.php пугает меня. Похоже, что удобство использования и здравый смысл были принесены в жертву для максимальной условной гибкости.

Я не уверен, что это именно то, что вам нужно, но, возможно, вы хотели бы взглянуть на мой обходной путь. Это функция, которая отображает список постов, где бы вы ни захочется, с миниатюрами для первого изображения поста.

http://wpworks.wordpress.com/2011/02/01/display-wordpress-post-list-with-custom-size-thumbnails/

Надеюсь, вы найдете это полезным.

С уважением,

Альваро

Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top