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

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

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

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

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

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

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

kikson87 2.3 года назад

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

artikus 2.3 года назад

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

stepan 2.3 года назад

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

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

artikus 2.3 года назад

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

kikson87 2.2 года назад

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

artikus 2.2 года назад

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

kikson87 2.2 года назад

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

artikus 2.2 года назад

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

kikson87 2.1 год назад

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

artikus 2.1 год назад

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

kikson87 2.1 год назад

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

artikus 2.1 год назад

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

kikson87 2.1 год назад

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

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

artikus 2.1 год назад

Да

kikson87 2.1 год назад

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

kikson87 2.1 год назад

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

artikus 2.1 год назад

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