Entradas

Borrar imagen destacada al eliminar post en WordPress

Borrar imagen destacada al eliminar post en WordPress

En ocasiones necesitamos crear una web en la que uno o más usuarios creen post temporales, que luego serán eliminados.
Si bien estos sitios webs no son muy habituales, nos plantean el siguiente problema: ¿Qué pasa con la imagen destacada del post al eliminarlo? ¿Sigue estando en nuestra galería de medios? La respuesta es SI!
Por lo que tendríamos un montón de imágenes que no utilizamos en nuestra web, ocupando espacio en el hosting y haciendo cada ves más lenta nuestra galería de medios y nuestra base de datos.
Entonces, cómo hacemos para eliminarla al eliminar el post?

Podriamos agregar el siguiente código al archivo functions.php de tu theme de WordPress, eliminando las imágenes cuando eliminas un post con el gancho before_delete_post.
Hay que tener cuidado con este código, porque si conecta la misma imagen a varias entradas como imagen destacada, la borrará de todas ellas. Otra cosa a tener en cuenta es que la imagen no se borra si ponemos el post en la papelera de nuestra web. Sólo cuando borramos el post definitavamente.

Por favor si vas a utilizar el código, tienes que realizar un backup de tu sitio web y de tu archivo functions.php antes de realizar cualquier cambio, no nos hacemos responsables por cualquier problema que puedas tener.

add_action( 'before_delete_post', 'wps_remove_attachment_with_post', 10 );
function wps_remove_attachment_with_post($post_id)
{
if(has_post_thumbnail( $post_id ))
{
$attachment_id = get_post_thumbnail_id( $post_id );
wp_delete_attachment($attachment_id, true);
}
}



Por:


Entradas Relacionadas

Deja un comentario