Cómo evitar agotar la memoria en un loop o Query

  • Autor Autor Okaro
  • Fecha de inicio Fecha de inicio
Okaro

Okaro

Épsilon
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Saludos!!

Vamos a suponer que quiero añadir un campo personalizado con cierta información a todas las entradas ( es un caso hipotético, podría ser cualquier otra acción con la entrada), así que creo un loop o query donde va pasando por todas las entradas.

Ejemplo:

PHP:
<?php 

      $args = array( 'post_type' => 'post', 'posts_per_page' => -1 );
      $my_query = new WP_Query($args);
     
      while ($my_query->have_posts()) : $my_query->the_post();

            add_post_meta($my_query->ID, 'campoPersonalizado', 'Datos');

      endwhile;

?>

Funcionar, funciona. Pero tengo un blog con más de 15.000 entradas, y tarde o temprano, se queda sin memoria.

¿Hay alguna manera de vaciar o reiniciar la memoria en cada pase del bucle?

He probado de este modo, con while, con loop, con for each, con get_posts... vamos de todas las formas posibles, pero nada, al final explota.

Y sí, en mi servidor está el límite de memoria y el tiempo de ejecución al máximo que me deja, así que esa no sería la solución.

Agradecería cualquier tipo de ayuda.

Un Saludo.
 
Última edición:
Atrás
Arriba