Wordpress, расширенные настраиваемые поля кэширования или, может быть, другое решение?

После того, как мне было трудно выяснить, какой плагин на моем сайте WordPress вызывает низкую скорость загрузки страницы, это оказался самый важный плагин ACF (расширенные настраиваемые поля Pro).

Но я думаю, что знаю причину, я создал тему самостоятельно, которая соответствует моим потребностям, однако в этой теме цикл публикации загружает несколько полей ACF (и мне просто нужно это сделать, к сожалению), поля загружаются с помощью основного вызова функция get_field(), но, вероятно, из-за того, что эти поля находятся внутри цикла, это вызывает длительное время загрузки (чрезвычайно большое, это на самом деле добавляет целых 4 секунды времени загрузки !!).

Я разработчик, но я не профессионал, но, насколько я понимаю, это происходит потому, что каждый раз, когда функция get_field() вызывает запрос, это увеличивает время загрузки страницы, поэтому я понял, что, возможно, есть способ кэшировать все поля, которые мне нужны перед циклом, чтобы загрузка не занимала так много времени? Или, может быть, есть гораздо лучшее решение, о котором я не могу думать? Серьезно, любые идеи приветствуются, потому что я застрял и надеюсь, что здесь есть кто-то со свежей идеей.


person Daniel Iliaguev Harta    schedule 18.03.2015    source источник


Ответы (1)


Я не знаком с плагином ACF, но, похоже, вы совершенно уверены, что проблема именно в нем. По умолчанию настраиваемые поля не должны влиять на производительность, будь то одно или тысяча полей. См. этот пост, который я написал по вопросу о настраиваемых полях.

Я бы посоветовал загрузить и установить плагин, например Монитор запросов, который выводит всю необходимую информацию в Экран о количестве вызовов БД и времени, затраченном на каждый вызов БД. Просто примечание: не запускайте это на рабочем сайте. Сделайте это при локальной тестовой установке или переведите свой сайт в режим обслуживания. Вы не хотите, чтобы ваши пользователи получали страницы с информацией о запросах, которые не будут иметь для них смысла :-). Как я уже сказал, плагин выводит информацию прямо на экран.

person Pieter Goosen    schedule 18.03.2015
comment
Большое спасибо, Питер, мой веб-сайт еще не вышел в эфир, поэтому я могу безопасно сделать это в прямом эфире, и я сделаю это прямо сейчас, надеюсь, с некоторыми результатами. - person Daniel Iliaguev Harta; 18.03.2015