Если на сайте с LearnPress у вас уже есть несколько курсов, простой список быстро перестаёт работать. Пользователь открывает страницу, видит набор карточек без логики и уходит, потому что не может быстро отсеять лишнее. Каталог с фильтрами по категориям и уровню сложности решает именно эту задачу: помогает показать структуру обучения и сократить путь до подходящего курса.
В LearnPress это обычно делают не одной кнопкой, а комбинацией из нормальной структуры курсов, страницы каталога и фильтров на основе таксономий или пользовательских полей. Самый практичный вариант — сначала правильно разметить курсы, а затем вывести их на отдельной странице так, чтобы посетитель мог отфильтровать список по категории и уровню.
Что должно быть в каталоге курсов
Хороший каталог — это не просто страница со всеми курсами подряд. Для онлайн-школы важны три вещи: понятная группировка, быстрый выбор и предсказуемая навигация. Если курс по маркетингу, дизайну и программированию лежат в одном списке без признаков различия, фильтры становятся не украшением, а необходимостью.
Для LearnPress обычно достаточно такой структуры:
- категории курсов — например, Маркетинг, Дизайн, Разработка;
- уровень сложности — Начальный, Средний, Продвинутый;
- карточка курса с названием, коротким описанием, длительностью, автором и ценой, если она есть;
- фильтры, которые не перегружают страницу и не требуют лишних кликов.
Если у вас есть несколько направлений обучения, категории лучше делать не слишком глубокими. Двух уровней обычно достаточно: основная категория и, при необходимости, подкатегория. Слишком сложная иерархия ухудшает фильтрацию и делает каталог похожим на запутанное меню.
Сначала подготовьте курсы: без этого фильтры будут бесполезны
Фильтр работает только тогда, когда у каждого курса есть корректные метки. В LearnPress это означает, что курсы должны быть заранее разнесены по категориям и, если вы используете отдельный признак сложности, этот признак тоже должен быть заполнен у каждого курса.
Проверьте, что у каждого курса есть:
- назначенная категория курса;
- понятное название, по которому курс легко узнать в каталоге;
- краткое описание, которое помогает отличить похожие курсы;
- единый подход к уровню сложности: не смешивайте, например, для новичков и начальный как разные значения, если фильтр должен быть чистым и аккуратным.
Если уровень сложности у вас пока нигде не хранится, его нужно добавить как отдельную таксономию или поле. Важно не путать это с категорией: категория отвечает за тему курса, а уровень — за порог входа. Это разные фильтры, и именно так их стоит воспринимать на сайте.
Как организовать уровень сложности в LearnPress
В LearnPress категории курсов есть из коробки, а вот уровень сложности чаще всего приходится добавлять отдельно. На практике есть два рабочих подхода.
Вариант 1. Отдельная таксономия для уровня сложности
Это самый удобный вариант, если вы хотите, чтобы уровень сложности был полноценным фильтром на странице каталога. Тогда у курса появляются отдельные значения вроде Начальный, Средний и Продвинутый, а на странице каталога можно вывести переключатели или список чекбоксов.
Плюс такого подхода в том, что он хорошо масштабируется. Если позже вам понадобится добавить, например, Для детей или Интенсив, структура останется управляемой. Минус в том, что для этого может понадобиться небольшая доработка темы или плагина, если готового фильтра в вашей сборке нет.
Вариант 2. Пользовательское поле
Если сложность нужна только как визуальная метка на карточке, а не как полноценный фильтр, можно хранить её в пользовательском поле курса. Но для каталога с фильтрацией это менее удобный путь: фильтровать по метаполю можно, но это обычно требует более аккуратной настройки запроса и не всегда даёт такой же чистый результат, как таксономия.
Для задачи из ТЗ лучше ориентироваться именно на таксономию. Это проще поддерживать, легче объяснить контент-менеджеру и удобнее использовать в фильтрах.
Соберите страницу каталога: базовая схема без лишней сложности
Сам каталог можно сделать несколькими способами, и выбор зависит от того, как у вас устроен сайт. Если нужна управляемая страница с фильтрами, обычно используют отдельную страницу WordPress, на которой выводится архив курсов или кастомный список курсов через шаблон темы, блок, шорткод или виджет LearnPress.
Практически это выглядит так:
- Создайте отдельную страницу, например Каталог курсов.
- Выведите на ней список курсов LearnPress в карточках.
- Добавьте над списком фильтры по категории и уровню сложности.
- Проверьте, что при выборе фильтра список обновляется без лишних переходов.
Если тема уже поддерживает архив LearnPress и фильтрацию, используйте её возможности. Если нет, проще и надёжнее сделать отдельный шаблон страницы, чем пытаться собирать каталог из случайных блоков. Для владельца онлайн-школы это обычно удобнее в сопровождении: одна страница, понятная логика, меньше риска сломать верстку при обновлении.
Как должны работать фильтры по категориям и уровню сложности
Фильтры на каталоге лучше делать не декоративными, а прикладными. Пользователь должен сразу понимать, что он может выбрать одну или несколько категорий, а также отсеять курсы по уровню подготовки. Если фильтр выглядит красиво, но не даёт быстро сузить выбор, он не решает задачу.
Для каталога курсов обычно подходят такие варианты:
- выпадающий список — компактно, если категорий немного;
- чекбоксы — удобно, если пользователь может выбрать несколько категорий;
- кнопки-переключатели — хорошо работают для уровня сложности, когда значений немного;
- сброс фильтров — обязателен, иначе пользователь застрянет в выбранных параметрах.
Если курсов много, фильтры лучше разместить над списком, а не в боковой колонке, особенно на мобильных устройствах. На телефоне боковая колонка часто уезжает вниз и теряет смысл. Для каталога онлайн-школы важнее быстрый доступ к фильтрам, чем сложная компоновка.
Что проверить после настройки каталога
После того как каталог собран, не ограничивайтесь визуальной проверкой. Нужно убедиться, что фильтры действительно отбирают нужные курсы, а не просто меняют внешний вид страницы.
Проверьте по шагам:
- каждый курс отображается в правильной категории;
- уровень сложности у курса указан корректно и одинаково назван во всём каталоге;
- фильтр по категории показывает только нужные курсы;
- фильтр по уровню сложности не смешивает значения;
- комбинация фильтров работает предсказуемо, например Маркетинг + Начальный;
- на мобильном телефоне фильтры доступны без горизонтальной прокрутки;
- после сброса фильтра страница возвращается к полному списку.
Если каталог работает через AJAX, отдельно проверьте скорость и стабильность на медленном соединении. Если без AJAX — убедитесь, что URL фильтрации не путает пользователя и не создаёт дублирующиеся страницы без необходимости.
Типичные ошибки, из-за которых каталог получается неудобным
Самая частая ошибка — смешивать категорию и уровень сложности в одном поле. Например, когда в категории оказываются значения вроде Для новичков и Продвинутый. В результате каталог становится логически кривым: тема курса и его сложность начинают конкурировать друг с другом.
Ещё одна проблема — слишком много фильтров. Для каталога курсов LearnPress обычно достаточно двух основных осей: тема и уровень. Если добавить туда ещё формат, длительность, язык, дату старта и цену, пользователь начнёт не выбирать курс, а разбираться в интерфейсе.
Также часто забывают про единообразие названий. Если в одном курсе написано Beginner, в другом Начальный, а в третьем Для начинающих, фильтр выглядит как набор случайных значений. Лучше заранее утвердить словарь терминов и использовать его везде одинаково.
Когда стоит дорабатывать каталог кодом, а когда лучше обойтись настройкой темы
Если у вас небольшая школа и курсов немного, часто достаточно штатных возможностей темы и LearnPress. Но если каталог должен фильтровать курсы по двум признакам сразу, а тема этого не умеет, без небольшой доработки не обойтись. В таком случае обычно делают отдельный шаблон каталога или подключают фильтрацию через таксономии.
Код нужен не ради красоты, а когда стандартного интерфейса не хватает. Если вы не уверены в теме или плагинах, сначала проверьте, умеет ли ваша сборка выводить архив курсов и фильтровать его по таксономиям без сторонних костылей. Это безопаснее, чем пытаться собирать каталог из нескольких несовместимых решений.
Если же задача сводится к тому, чтобы аккуратно оформить страницу, добавить понятные фильтры и не усложнять поддержку, лучше держаться простой схемы: категории как основа, уровень сложности как отдельный фильтр, карточки курсов как единый шаблон. Именно такая структура помогает посетителю быстрее выбрать подходящий курс и не теряться в списке.