Как добавить кнопку «показать еще» в WordPress?

На сайтах с большим количеством контента обычно имеется пагинация. Это означает, что для просмотра старого контента посетитель переходит на страницы 2,3,4… или нажимает ссылки “Предыдущие…/Следующие…”

Чтобы быстрее находить нужный материал на сайте, посетителям было бы проще отображать старые публикации на той же странице. Это выглядит так. Дойдя в самый конец списка записей, пользователь увидит кнопку “Показать еще…” После того, как он ее нажмет, перед ним появится “пачка” предыдущих материалов сайта.

Главная страница сайта

Согласитесь, это очень удобно.

Как добавить кнопку «показать еще» в WordPress?

Для подгрузки загрузки постов на странице есть несколько вариантов решения. Рассмотрим самый простой – с помощью бесплатного плагина Ajax Load More.

Плагин Ajax Load More

Плагин создает специальный шорткод, который нужно добавить на страницу или запись. В этом месте будет подгружаться бесконечная прокрутка записей. Если все записи будут показаны, то плагин уведомит об этом. Если в браузере посетителя отключен JavaScript, то будет работать обычная постраничная навигация. Но сначала его нужно настроить.

Первым делом установите и активируйте плагин.

Дальше перейдите в админ-раздел Ajax Load More -> Repeater Templates.

Страница настройки плагина Ajax Load More

Тут приведен код шаблона вывода записей на экран, т.е. то, как будут выглядеть подгруженные посты. Вы можете изменить его в соответствии своих требований. Для редактирования шаблона требуется знание PHP и конструкций WordPress.

Отметим, что шаблон по умолчанию будет показывать только отрывки записей. Если нужно показать контент публикаций целиком, то замените функцию the_excerpt() на the_content().

Если вы решили изменить шаблон, то для сохранения его новой версии нажмите кнопку Save Template.

Создание шорткода

Для этого перейдите в админ-раздел Ajax Load More -> Shortcode Builder.

Страница настройки плагина Ajax Load More

В этом разделе вы можете создать шорткод, который и будет запускать процесс загрузки постов. Его нужно будет вставить в шаблон вашей активной WordPress-темы.

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

  • Типы записей (закладки Query Parameters -> Post Type) – выбор типов записей, которые будут подгружаться (по умолчанию – Записи). Также можно выбрать Страницы, Медиафайлы, пользовательские типы.

Страница настройки плагина Ajax Load More

  • Категории (закладки Query Parameters -> Category) – выбор категорий записей для загрузки. По умолчанию плагин выбирает все категории. Также можно исключить ненужные.

Страница настройки плагина Ajax Load More

  • Автор (закладки Query Parameters -> Author) – выбор автора, записи которого будут показаны.

Страница настройки плагина Ajax Load More

  • Количество записей на странице (закладки Query Parameters -> Posts Per Page) – количество записей, которые будут подгружены при обновлении.

Страница настройки плагина Ajax Load More

  • Пауза (закладки Display Settings -> Pause) – поведение автоматической подгрузки постов. false – автоматическая подгрузка, true – подгрузка по кнопке Load More.

Страница настройки плагина Ajax Load More

  • Прокрутка (закладки Display Settings -> Scrolling) – автоматическая подгрузка постов при прокручивании вниз страницы.

Страница настройки плагина Ajax Load More

После того, как плагин был настроен, справа вы увидите сгенерированный шорткод.

Страница настройки плагина Ajax Load More

Все, что осталось сделать дальше, – это вставить шорткод в нужное место сайта. Если нужно добавить в контентную часть записи или страницы, то нужно их открыть на редактирование и вставить [ajax_load_more]. Если захотите добавить шорткод в шаблон темы, то используйте следующую конструкцию:

<?php echo do_shortcode('[ajax_load_more]'); ?>

Главная страница сайта

Лучший шаблон с бесконечным скроллом

Блоговая тема Journal X для путешественников

Вместо того чтобы добавлять в шаблон скрипт и настраивать макет так, чтобы ничего не поехало, можно взять готовую русскоязычную тему JournalX с бесконечной прокруткой. В ней данная опция также реализована посредством ajax. При этом код просто “летает” и не нагружает сервер.

Этот WordPress-шаблон журнального типа избавляет от необходимости городить на сайте “костыли”. Все работает “из коробки”, причем как в записях, так и в рубриках. При прокрутке страницы подружаются следующие посты. Отдельного внимания заслуживает оригинальный дизайн и отсутствие тяжелых фреймворков.

Читайте подробный разбор всех возможностей JournalX или сразу забирайте с промиком.

Промокод на JournalX

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

Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.
Обсуждение: 6
  1. Александр

    Работает ли этот плагин с woocommerce ? можно ли сделать такое для товаров ? я пробовал, но у меня ничего не получилось

  2. Иван

    Добрый день. Такой же вопрос, кака у Александра: Работает ли этот плагин с woocommerce ? можно ли сделать такое для товаров ? я пробовал, но у меня ничего не получилось

    1. Михаил Петров author

      Добрый день!

      К сожалению, плагин не проверялся для работы с WC. Но судя по заметке в посте https://connekthq.com/woocommerce-infinite-scrolling/, он умеет это делать отлично. Просто нужно добавлять код в шаблон WC content-product.php.

  3. Антон

    А как сделать подгрузку контента на одной странице (не запись и не категорию). У меня на сайте много отзывов. Они все размещены на одной статической странице. Но из-за того что их много, странница очень долго грузиться. Этот плагин может помочь? Я не нашел как(

    1. Михаил Петров author

      Добрый день!

      Указанный в статье плагин изначально создан для подгрузки именно других постов. Для подтягивания других данных он не подходит. Нужно искать другие решения. Попробуйте начать с поиск в Сети или обратиться к программисту, который реализует все Ваши требования.

      С уважением Михаил

  4. Никита

    Здравствуйте! Как можно реализовать не автоматическую загрузку при скролле, а только при нажатии на кнопку?

Задать вопрос