Задача

Необходима доработка (рефакторинг и оптимизация фронтенда) навигации для крупного информационного портала. Основная цель - улучшить юзабилити меню и исправить проблему с чрезмерной загрузкой иерархии.

Проблема

Сейчас стандартная функция wp_list_pages() выводит абсолютно все страницы из иерархии (около 2700 URL). Это приводит к:

  • Медленной загрузке меню;
  • Нечитаемости навигации в левой колонке;
  • Плохой пользовательской навигации по сайту.

Что нужно сделать

  • Оптимизировать вызов wp_list_pages() для главного меню (расположенного слева, колонкой);
  • Учесть небольшую правую колонку с дополнительными ссылками;
  • Реализовать корректный вывод только нужных уровней вложенности (например, показывать дочерние страницы только для текущего раздела);
  • Обеспечить корректную работу фрагмента кода на всем сайте;
  • Код должен быть выполнен в соответствии с современными standardами WordPress (можно использовать AJAX, фильтры или хуки для оптимизации).

Требования к результату

  • Логика вывода: меню не должно грузить все 2700 страниц разом;
  • Производительность: меню должно быстро открываться и сворачиваться;
  • Передайте готовый код или патч с комментариями;
  • Без потери функционала. У программы есть специфическая вложенность рубрик и страниц.