Итак, я столкнулся с проблемой использования оперативной памяти WP и ищу решение.
Единственное место, где у меня действительно возникает эта проблема на моем сайте, - это страница карты сайта, которую я пытаюсь заполнить, но решение этой проблемы может быть применено повсеместно и сэкономить на использовании оперативной памяти всего сайта.
По сути, эта страница «Карта сайта» у меня есть список всего posts
и pages
на моем сайте. Единственные элементы переменной $ post, к которым мне нужен доступ на этой странице, - это заголовок и постоянная ссылка. К сожалению, используемый мной запрос возвращает все сообщения со всей информацией в каждой из переменных $ post.
Ниже приведен пример запроса, который я использую на этой странице карты сайта для одного custom-post-type
имени «продукты» с пользовательской таксономией «дополнения» и термина «все дополнения». Страница моей карты сайта содержит несколько таких запросов, но для пояснения я включаю только код для этого отдельного запроса.
$varArray= array(
'post_type' => 'products',
'post_status' => 'publish',
'supplements' => 'all-supplements',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC'
);
$myProducts= new WP_Query($varArray);
Подавляющее большинство информации, сохраненной в переменной $ post (для моего сайта, и я предполагаю, что эта тенденция прослеживается для общего использования), находится в «контенте». Типичное использование ОЗУ для моей страницы карты сайта составляет ~ 140 МБ. (сообщает Debug Bar), в то время как использование для любой другой типичной страницы на моем сайте составляет 50-60 МБ. Большая разница. Вчера страница Карта сайта перестала работать (WSOD), и для ее исправления мне пришлось увеличить максимальный объем оперативной памяти, который может использовать WP. Поэтому я увеличиваю общие необходимые системные ресурсы из-за одной страницы.
Итак, я подхожу к своему вопросу.
Есть ли где-то в Wordpress путь / опция, которую я пропускаю, которая будет извлекать posts
/ pages
как обычный запрос, но НЕ получать содержимое для извлеченных постов?
Или, в качестве альтернативы, есть ли какой-нибудь более простой способ для меня получить только определенные элементы в данном запросе (Title / Permaklink / Slug / etc ...) вместо получения всей переменной $ post переменной shebang?
Мне кажется, что для многих приложений WP единственное место, где обычно требуется «контент» поста / страницы, - это страница page
или post
страница (очевидно, здесь есть исключения), и что доступ к полному контенту для постов / Страницы, полученные по запросу на других страницах, просто излишни. Если есть способ избежать загрузки всего контента для страниц списка сообщений, то можно сэкономить значительное количество оперативной памяти.
Любая помощь будет оценена.