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

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

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

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

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

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

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

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

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

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

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

stepan 5 месяцев назад

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

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

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

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

kikson87 4 месяца назад

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

artikus 4 месяца назад

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

kikson87 4 месяца назад

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

artikus 4 месяца назад

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

kikson87 4 месяца назад

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

artikus 3 месяца назад

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

kikson87 3 месяца назад

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

artikus 3 месяца назад

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

kikson87 3 месяца назад

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

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

artikus 3 месяца назад

Да

kikson87 3 месяца назад

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

kikson87 3 месяца назад

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

artikus 3 месяца назад

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