Как отобразить все ваши WordPress-посты на одной странице
Зачем и когда нужно отображать все посты на одной странице? В WordPress есть встроенные архивные страницы для каждой категории, тега, автора и даты. Однако многие владельцы сайтов предпочитают создавать пользовательские архивные страницы для своих сайтов. В этих страницах обычно выделяются популярные посты, отображается компактный архив на основании дат, приводится список категорий, показывается облако тегов и многое другое.
Показываем все посты WordPress на одной странице
Существует много различных способов отобразить все свои посты WordPress на одной странице. Вы можете отображать посты на странице с помощью шорткода, используя плагин или, наконец, используя пользовательский шаблон. Мы подробно разберем все три способа, начиная с самого легкого для начинающих пользователей.
Способ первый: использование плагина Display Posts Shortcode
Вам надо установить и активировать плагин Display Posts Shortcode. Этот плагин работает прямо из коробки, и в нем нет никаких параметров для настройки. Создайте новую страницу и назовите ее Archives. После этого скопируйте следующий шорткод себе на страницу.
[display-posts posts_per_page=»1000″ order=»DESC»]
Этот шорткод просто отобразит список всех ваших заголовков постов в хронологическом порядке. Он настроен отображать максимум 1000 постов на страницу. Если у вас на сайте более тысячи постов, то вы можете изменить это так же, как вы можете изменить и порядок сортировки, чтобы отображать посты в обратном хронологическом порядке (старые посты будут идти первыми).
В то время как вы можете использовать шорткод, чтобы отображать эскизы и прочую информацию, связанную с постами, мы не советуем вам этого делать. Когда вы выводите список всех постов на одну страницу, эта страница будет длинной, и вам захочется сделать ее простой и быстрой. Для этой страницы достаточно лишь заголовков. Если хотите отображать посты, основываясь на категории или других параметрах, вы можете это сделать, следуя указаниями на странице документации.
Способ второй: использование плагина Simple Yearly Archive
Отображение всех ваших постов в пределах одной страницы может потребовать слишком много времени на ее прокручивание. Однако вы можете от этого избавиться, показывая список каждого года. Пользователи могут щелкать по годам, чтобы раскрывать их и видеть посты, которые были опубликованы в тот период времени. Для этого вам сперва надо установить и активировать плагин Simple Yearly Archive. После активации зайдите на страницу Settings > Simple Yearly Archive, чтобы настроить параметры плагина.
Плагин позволяет вам отображать список постов в самых разных способах. Вы можете показать их все под ссылками на годовые архивы, или вы можете показать их под раскрываемыми годами. Если вы хотите добавить их под разборными годами, то вам надо добавить
<div> и </div>
возле опции ‘Before / After (Year headline)’. Остальные настройки плагина достаточно просты. Теперь, чтобы отображать все посты на странице, вам надо добавить шорткод [SimpleYearlyArchive] на странице под ваше усмотрение.
Плагин предоставляет массу параметров, которые могут быть использованы в связке с этим шорткодом. Вы можете посмотреть параметры плагина на странице документации.
Способ третий: отображение всех постов WordPress на одной странице с помощью кода
Первым делом вам надо создать пользовательский шаблон страницы и скопировать стиль из файла pahe.php После этого используйте следующий код:
<?php // the query $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 : ?> <?php _e( 'Sorry, no posts matched your criteria.' ); ?> <?php endif; ?>
Если для вас это слишком сложно, то можете воспользоваться первым способом.
Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520
Ответить
Хотите присоединиться к обсуждению?Не стесняйтесь вносить свой вклад!