Хотели бы вы вывести все ваши записи WordPress на одной странице? Недавно один из наших читателей интересовался, как создать страницу архива и вывести на ней все записи. В сегодняшней статье мы покажем вам как отобразить все ваши статьи WordPress на одной странице без пагинации.
Зачем и когда нужно выводить все записи на одной странице?
В WordPress есть строенная страница архива для каждой рубрики, тегов, авторов и даты.
Многие владельцы сайтов, всё же предпочитают создавать собственные страницы архивов на своих сайтах. На этих страницах обычно выделяют популярные записи, выводят архив по датам в виде аккордеона, отображают список рубрик или же облако тегов и т.д.
Некоторые блоги предпочитают просто выводить список заголовков для всех записей WordPress на одной странице.
Выводим все записи WordPress на одну страницу
Существует множество различных способов для отображения всех записей на одной странице. Можно вывести статьи а страницу шорткодом, можно отобразить их с помощью плагина, и, никонец, можно показать все записи на странице при помощи произвольного шаблона и цикла.
Мы расскажем о всех трех способов, и начнем с самого простого.
Способ 1: Используем плагин Display Posts Shortcode
Первым делом вам необходимо установить и активировать плагин Display Posts Shortcode.
Плагин работает «из коробки» и не нуждается в дополнительной настройке.
Продолжаем, и создаем новую страницу, называем её «Архивы» или как пожелаете. После этого вставляем в неем следующий шорткод:
[display-posts posts_per_page="1000" order="DESC"]
Этот шорткод выведет простой список всех заголовков ваших записей в хронологическом порядке. В параметрах шорткода указан лимит на 1000 записей на страницу.
Если же у вас более тысячи постов, то можно изменить это значение. Также вы можете изменить порядок записей на ASC, и при этом записи станут отображаться в обратном хронологическом порядке (сначала старые записи).
Хотя вы можете использовать вышеуказанный шорткод для отображения цитат, миниатюр и другой сопутствующей информации, мы не рекомендуем это делать. В виду того, что вы выводите все свои записи на одной странице, эта страница будет очень длинной, и нужно сделать так, чтобы она была максимально простой и красивой. Здесь как раз будет уместно вывести только лишь заголовки записей.
Если же вам потребуется вывести записи на странице в зависимости от рубрики или по другим параметрам, то сделать это можно будет, ознакомившись с документацией плагина.
Способ 2: Используем плагин Simple Yearly Archive
Если вывести все свои записи WordPress на одной странице, то ее нужно будет долго прокручивать. Этого можно избежать, если отображать список записей, сгруппированных по годам. Пользователи смогут нажать на нужный год и развернуть его, а затем уже ознакомиться с публикациями за выбранный год.
Для начала вам потребуется установить и активировать плагин Simple Yearly Archive.
После активации переходим на страницу Настройки » Simple Yearly Archive для настройки плагина.
Этот плагин позволит вам вывести список записей в различных вариациях. Можно отобразить их все под ссылками на годовой архив, или же вывести в «свернутый» список каждого года.
Если вы хотите вывести их под названием года, то потребуется добавить <div> and </div> рядом с опцией ‘Before / After (Year headline)’.
Остальные настройки плагина говорят сами за себя, поэтому каждый решит самостоятельно, какие опции стоит отметить.
Не забудьте нажать на кнопку сохранения изменений.
Теперь же, для того, чтобы вывести все записи на одной странице, потребуется добавить шорткод [SimpleYearlyArchive] на эту самую страницу.
У плагина есть множество параметров, которые можно использовать в шорткоде. Ознакомиться с полным списком параметров можно на странице документации.
Способ 3: Выводим все записи WordPress на одной странице с помощью кода шаблона
Использование плагина для вывода всех записей на одной странице — самое простое решение, но может быть некоторые из вас захотят реализовать это с помощью кода в шаблоне страницы.
Для начала создаем произвольный шаблон страницы и копируем в него оформление из своего файла page.php.
После этого используем цикл, представленный ниже, для вывода всех записей на одной странице.
<?php // запрос $wpb_all_query = new WP_Query(array('post_type'=>'post', 'post_status'=>'publish', 'posts_per_page'=>-1)); ?> <?php if ( $wpb_all_query->have_posts() ) : ?> <ul> <!-- the loop --> <?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endwhile; ?> <!-- end of the loop --> </ul> <?php wp_reset_postdata(); ?> <?php else : ?> <p><?php _e( 'Извините, нет записей, соответствуюших Вашему запросу.' ); ?></p> <?php endif; ?>
Если вышеприведенный код не имеет для вас смысла, тогда мы рекомендуем использовать Способ 1.
Мы надеемся, что эта статья помогла вам вывести все ваши записи WordPress на одной странице.