Este código se asegura de que, al eliminar un post en WordPress, también se eliminen todos los archivos adjuntos asociados a ese post, garantizando así que no queden archivos huérfanos en el sistema.
//////////////////////////////////////////////////////////////////////////////////////
// Al eliminar un post en WordPress, también se eliminen todos los archivos adjuntos asociados a ese post
//////////////////////////////////////////////////////////////////////////////////////
function dl_borrar_medio_asociado($post_id) {
$attachments = get_posts(array(
'post_type' => 'attachment',
'posts_per_page' => -1,
'post_status' => 'any',
'post_parent' => $post_id
));
foreach ($attachments as $attachment) {
if (false === wp_delete_attachment($attachment->ID, true)) {
wp_die('Error al borrar el archivo.');
}
}
}
add_action('before_delete_post', 'dl_borrar_medio_asociado');
0 Comentarios