Entonces, me he encontrado con lo que parece un problema de uso de WP RAM y estoy buscando una solución.
El único lugar en el que realmente tengo este problema en mi sitio es con una página de Mapa del sitio que estoy tratando de llenar, pero una solución a este problema podría aplicarse universalmente y ahorrar en el uso de RAM en todo un sitio.
Esencialmente, esta página del Mapa del sitio que tengo es una lista de todos posts
y pages
en mi sitio. Los únicos elementos de la variable $ post a los que necesito acceder en esta página son el título y el enlace permanente. Desafortunadamente, la consulta que estoy usando devuelve todas las publicaciones con toda la información en cada una de sus variables $ post.
El siguiente es un ejemplo de una consulta que estoy usando en esta página del Mapa del sitio para un solo custom-post-type
"productos" con una taxonomía personalizada de "suplementos" y el término "todos los suplementos". La página Mi mapa del sitio tiene varias consultas de este tipo, pero con fines explicativos solo incluyo el código para esta consulta única.
$varArray= array(
'post_type' => 'products',
'post_status' => 'publish',
'supplements' => 'all-supplements',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC'
);
$myProducts= new WP_Query($varArray);
La gran mayoría de la información guardada dentro de la variable $ post (para mi sitio, y supongo que esta tendencia se ve para uso general) se encuentra dentro del "contenido". El uso típico de RAM para mi página de Mapa del sitio es de ~ 140 MB (informado por Debug Bar), mientras que el uso de cualquier otra página típica en mi sitio es de 50-60 MB. Gran diferencia. Ayer, la página del Mapa del sitio dejó de funcionar (WSOD), y para solucionarlo tuve que aumentar la cantidad máxima de RAM que WP puede usar. Por lo tanto, estoy aumentando los recursos del sistema necesarios en general debido a una sola página.
Por lo tanto, llego a mi pregunta.
¿Hay una vía / opción en algún lugar dentro de Wordpress que me falta que obtenga posts
/ pages
como una consulta normal, pero que NO obtenga el contenido de las publicaciones recuperadas?
O, alternativamente, ¿hay alguna manera más fácil para que yo solo tome elementos particulares dentro de una consulta dada (Título / Permaklink / Slug / etc ...) en lugar de obtener todo el shebang variable $ post?
Me parece que para muchas aplicaciones de WP, el único lugar donde normalmente se necesitaría "el contenido" de una publicación / página es en esa page
o en la post
página (obviamente, hay excepciones aquí), y que tener acceso al contenido completo para publicaciones / páginas recuperadas por consulta en otras páginas es simple exageración. Si hay una manera de evitar cargar el contenido completo de las páginas de la lista de publicaciones, se podría guardar una cantidad significativa de uso de RAM.
Cualquier ayuda sería apreciada.