Отже, я зіткнувся з тим, що схоже на проблему використання оперативної пам'яті 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 / тощо ...) замість того, щоб отримати весь шеббанг змінної $ post?
Мені здається, що для багатьох додатків WP єдине місце, яке, як правило, потрібне "вміст" публікації / сторінки, - це на тій page
чи post
сторінці (очевидно, тут є винятки), і це доступ до повного вмісту для публікацій / сторінки, отримані за допомогою запиту на інших сторінках, є простою надмірністю. Якщо є спосіб уникнути завантаження повного вмісту для сторінок списку публікацій, значну кількість використання оперативної пам’яті можна зберегти.
Будь-яка допомога буде вдячна.