Por lo tanto, me he topado con lo que parece ser un problema de uso de RAM de WP y estoy buscando una solución.
El único lugar donde realmente tengo este problema en mi sitio es con una página de Mapa del sitio que estoy tratando de poblar, pero una solución a este problema podría aplicarse universalmente y ahorrar en el uso de RAM en todo el sitio.
Esencialmente, esta página del Mapa del sitio que tengo es una lista de todos los 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 único custom-post-type
llamado "productos" con una taxonomía personalizada de "suplementos" y el término "todos los suplementos". La página de Mi Mapa del sitio tiene varias consultas de este tipo, pero con fines explicativos solo incluyo el código para esta única consulta.
$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 el uso general) se encuentra dentro de "el contenido" El uso típico de RAM en la página Mapa del sitio es ~ 140MB (reportado por Debug Bar), mientras que el uso de cualquier otra página típica en mi sitio es de 50-60MB. Gran diferencia. Ayer, la página 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 generales necesarios del sistema debido a una sola página.
Por lo tanto, vengo a mi pregunta.
¿Hay algún camino / opción en algún lugar de Wordpress que falte que pueda obtener posts
/ pages
como una consulta normal, pero NO obtenga el contenido para las publicaciones recuperadas?
O, alternativamente, ¿hay alguna forma más fácil para que solo pueda capturar elementos particulares dentro de una consulta determinada (Título / Permaklink / Slug / etc ...) en lugar de obtener la variable $ post shebang?
Me parece que para muchas aplicaciones WP, el único lugar donde "el contenido" de una publicación / página se necesitaría normalmente es en esa página page
o post
(obviamente hay excepciones aquí), y el hecho de tener acceso al contenido completo para las publicaciones / páginas recuperadas por consulta en otras páginas es una simple exageración. Si hay una forma de evitar cargar el contenido completo para las páginas de la lista de publicaciones, entonces se podría guardar una cantidad significativa de uso de RAM.
Cualquier ayuda sería apreciada.