Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Borrar imágenes cuando borras una entrada en wordpress

27 noviembre, 2019
borrar post

Si tienes un WordPress y llevas ya algún tiempo blogeando y subiendo imágenes tendrás una carpeta de imagenes (uploads) bastante grande, si además eres de los que borras los post cada cierto tiempo o has hecho una limpieza en el blog de post que ya no te están siendo útiles tendrás un montón de imágenes alojadas en tu servidor que ya no te están siendo útiles.

Cómo ya sabrás WordPress cada vez que subes una imagen genera 4 tamaños diferentes de la imagen que has subido, por lo que si has subido 1000 imágenes puedes echar la cuenta del número de imágenes que tendrás ahora.

borrar imágenes

La solución para que cuando borres un post se borren las imágenes destacadas y las imágenes que tenía ese post al mismo tiempo, es añadir una función action a tu fichero de funciones de wp function.php .


Cómo eliminar imágenes no usadas en WordPress

Si borramos algunas entradas o paginas en nuestro sitio WordPress, las imágenes asociadas a esas entradas o páginas siguen ocupando espacio ya que permanecen en la galería multimedia de WordPress aunque ya no estén siendo utilizadas en ningún sitio de la página web.

Está sería la función que tienes que añadir para borrar las imágenes cuando borras un post.

add_action('after_delete_post','borrar_imagen_destacada_galeria',10,1);
function borrar_imagen_destacada_galeria($post_id) {
   $id_imagen_destacada = get_post_meta($post_id,'_thumbnail_id',true);
   $id_galeria          = get_post_meta($post_id,'_product_image_gallery',true);
 
   if(!empty($id_imagen_destacada)) {
     wp_delete_post($id_imagen_destacada);
   }
 
  if(!empty($id_galeria)) {
    $array_img_galeria = split(',',$id_galeria);
 
    foreach($array_img_galeria as $id_una_imagen) {
        wp_delete_post($id_una_imagen);
    }
  }
}

Y listo!, con esto tendrás tu blog limpito. 😉