Медленно работает меню 0,2 сек.

Здравствуйте меня интересует как загружать 100 200 300 и более пунктов меню если у меня 100 пунктов и Query monitor пишет что это действие занимает 0,2 сек только на одно меню в header. Какие у кого есть варианты? Видил в сети что есть темы тоже с не маленьким меню и они работают шустро.

Заметки к вопросу:
stepan год назад

кеш-плагины использовать.

А если речь только о меню - то можно пробовать химичить с кешом html кода самого меню
НО тогда пропадет функциональность - активной/текущей ссылки. Оно будет неправильным.
Много косяков будет.

Если бы это меню было в footer - то его html код спокойно можно было бы хранить в кеше.

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

kikson87 год назад

Спасибо за ответ но решение с кешем только маскирует проблему а не решает ее. Нужно что то без кеша. Думал сделать ajax после события от пользователя но ajax имеет задержку отображения. Может кто то имеет что то более оригинальное?

artikus год назад

Кешировать такое количество надо. Других способов не придумано. Только не в страничный кеш, а в объектный. Пункты меню - это посты и по сути при каждой загрузке идут запросы по каждой указаной ссылке. Вот пример кеширования меню https://github.com/pressjitsu/cached-nav-menus

stepan год назад

Только не в страничный кеш, а в объектный.

вы указали ссылки - и по той ссылке какой идет кеш? объектный?
просто я вижу по коду, что там идет сохран html кода во временную опцию... или ошибаюсь?

artikus год назад

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

kikson87 год назад

Кеш не решает проблему. Это не решает проблему а только маскирирует.

artikus год назад

Ок, предложите другой вариант

kikson87 год назад

Я потому и написал что не вижу другого варианта.

artikus год назад

Ну есть еще вариант вызова меню по аяксу, как это сделано например в ЯМаркете

kikson87 год назад

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

artikus год назад

Довольно спорное утверждение, но спорить не буду. Найдете решение, напишите

kikson87 год назад

Хорошо я отпишусь. Можете мне расказать кто вы где работаете и есть ли у вас проект для совместной реализации.

artikus год назад

В профиле есть все данные необходимые

kikson87 11 месяцев назад

https://www.youtube.com/watch?v=v-I_LObOVDY

Извините за вопрос но это вы озвучку делаете?

artikus 11 месяцев назад

Да

kikson87 11 месяцев назад

Я рад что веду с вами беседу. Вам можно задавать вопросы по WordPress а то у меня не где спросить, если вы не против?

kikson87 11 месяцев назад

Мы можем перейти в телеграм?

artikus 11 месяцев назад

Мы находился на ресурсе где можно спросить, а еще есть масса чатов для этого предназначенных https://wp-kama.ru/handbook/wordpress/links