Autoremove Attachments

Descripción

Autoremove Attachments te ayuda a mantener limpia la biblioteca de medios, borrando todos los archivos multimedia adjuntos como hijos a una entrada, página o tipo de contenido personalizado cuando se elimina el padre.

Por defecto, cuando se elimina un contenido de tu web, independientemente de si se trata de una entrada, una página, un producto o cualquier tipo de contenido, WordPress mantiene los archivos multimedia previamente asociados a él, incluso si después de la eliminación de tu contenido estos no se usan en ningún otro lugar.

Autoremove Attachments trata de resolver este problema automatizando la eliminación de todos los archivos multimedia que tienen una relación padre-hijo con el contenido eliminado. (para que no tengas que rastrear y eliminar manualmente los archivos huérfanos que quedan en tu servidor)

Consideraciones importantes

  • Un borrado parcial que pone tu entrada, página o tipo de contenido personalizado en la papelera no provocará la eliminación de tus adjuntos hijos. El vaciado se produce cuando se vacía la papelera.
  • Cuando eliminas una entrada, página o tipo de contenido personalizado, intentamos determinar si sus adjuntos hijo se usan en algún otro lugar de tu web. En este caso, no los eliminamos, para evitar enlaces rotos.
  • Las comprobaciones adicionales previas a la eliminación automática se pueden desactivar desde los ajustes de medios para mejorar el rendimiento en webs grandes con miles de entradas y archivos multimedia.
  • El plugin solo elimina los archivos rastreados por WordPress. Algunos temas mal programados generan tamaños de miniatura adicionales que no son rastreados por WordPress y esto siempre conduce a archivos huérfanos que quedan en tu servidor.

Compatibilidad y soporte de terceros

Si usas un plugin para optimizar y limpiar tu base de datos de revisiones, entradas en la papelera, etc, asegúrate de usar uno que emplee funciones nativas de WordPress para realizar las tareas de mantenimiento. Recomendamos WP-Sweep.

Instalación

Instalación automática

La instalación automática es la opción más sencilla para instalar un plugin, ya que WordPress se encarga de las transferencias de archivos por sí mismo. Para realizar una instalación automática, inicia una sesión en tu escritorio de WordPress y sigue los pasos siguientes:

  1. Ve al menú de plugins y haz clic en «Añadir nuevo».
  2. En el campo de búsqueda escribe «Autoremove Attachments» y haz clic en «Buscar plugins»
  3. Una vez que hayas encontrado el plugin, instálalo haciendo clic en «Instalar ahora».
  4. Activa «Autoremove Attachments» desde el menú «Plugins»

Instalación manual

El método de instalación manual consiste en descargar el plugin y subirlo a tu servidor mediante SFTP. Para hacer una instalación manual sigue los pasos siguientes:

  1. Descarga el plugin en tu ordenador local
  2. Si se ha descargado como archivo zip, extráelo a tu escritorio
  3. Sube la carpeta del plugin al directorio «/wp-content/plugins/»
  4. Activa «Autoremove Attachments» desde el menú «Plugins»

FAQ

¿Funciona con tipos de contenido personalizado?

Sí. Funciona con entradas, páginas y tipos de contenido personalizado. Todos los adjuntos hijos se eliminan cuando se elimina el padre.

¿Cuándo se eliminan los adjuntos?

Los archivos se eliminan cuando la entrada, página o tipo de contenido personalizado padre se elimina de forma definitiva. Un borrado parcial que lo coloque en la papelera no activará la eliminación de tus adjuntos.

El vaciado se produce cuando se vacía la papelera.

¿Puedo controlar qué adjuntos se eliminan?

Sí, es posible. Por defecto, todos los archivos multimedia adjuntos a una entrada, página o tipo de contenido personalizado se eliminan automáticamente. Si necesitas un control granular, puedes usar el filtro autoremove_attachments_allowed para definir reglas personalizadas para controlar cuándo se deben eliminar los adjuntos hijos automáticamente.

Aquí hay un ejemplo de cómo puedes eliminar los adjuntos sólo para tipos de contenido personalizado específicos:

function autoremove_attachments_custom_rule() {
    // Global variables.
    global $post_id;

    // Variables.
    $post_type          = get_post_type( $post_id );
    $allowed_post_types = array(
        'project',
        'product',
    );

    // Default return value.
    $allowed_to_remove = false;



    // Custom rules for removing attachments.
    if ( in_array( $post_type, $allowed_post_types ) ) {
        $allowed_to_remove = true;
    }



    // Return.
    return $allowed_to_remove;
}
add_filter( 'autoremove_attachments_allowed', 'autoremove_attachments_custom_rule' );

El valor devuelto debe ser verdadero para los casos en los que se desea eliminar los adjuntos. (falso en caso contrario)

¿Hay alguna restricción en el uso de mis adjuntos?

Dependiendo de cómo uses el plugin, la respuesta puede ser sí o no.

Si mantienes el plugin en funcionamiento con las comprobaciones adicionales activadas, no tienes restricciones en el uso de tus adjuntos. (puedes usar tus archivos multimedia en varias ubicaciones, sin el temor de que se rompan los enlaces causados por su eliminación)

Si desactivas las comprobaciones adicionales, debes asegurarte de no reutilizar los archivos multimedia en varias entradas. Si lo haces y el padre se elimina, acabarás con enlaces rotos en todas las demás ubicaciones donde se usaron los adjuntos eliminados.

Independientemente de cómo uses el plugin, si necesitas usar un adjunto una y otra vez, súbelo desde el menú global de la biblioteca de medios. («Medios > Añadir nuevo») De esta modo, no se adjuntará como hijo a una entrada, página o tipo de contenido personalizado específico y podrás usarlo sin restricciones.

Reseñas

26 de septiembre de 2021
I have clients that create attachments for a CPT, delete the post but leave the Media in the library. "Why is my site getting so big? The backups are HUGE now!" *facepalm* Thank you for the code for the filter to only effect certain post types so they don't break the site 😛 Very well thought out use case and code. So far works with WP 5.8.1 and Metabox CPTs.
14 de mayo de 2021
I provide the user front-end to publish articles, and I need to delete them frequently, which saves me a lot of time. Thank you.
7 de abril de 2020 1 respuesta
I wish I'd discovered this plugin a while back! My client has a website with 2 custom post types and constant posts being added and removed. The plugin works perfectly (I was worried about the galleries). Thanks for a great time-saving plugin!
9 de marzo de 2020 1 respuesta
This plugin worked when the image is featured image to the post, but can't delete which is uploaded in the middle of post.
11 de diciembre de 2019 1 respuesta
Had a blog with 3000 posts w/ images that I wanted to delete. I installed and activated this plugin and then used Bulk Delete plugin to delete all 3000 old articles. This plugin did a great job and there were no old images left in the uploads folder. Sooo much faster than doing this manually or using two separate plugins to get rid of posts and then media. It took less than 1 minute to delete 3000 posts and the attached media with the combo Bulk Delete/Autoremove Attachments plugins together. Well done dev!
Leer todas las 13 reseñas

Colaboradores y desarrolladores

«Autoremove Attachments» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Autoremove Attachments» está traducido en 1 idioma. Gracias a los traductores por sus contribuciones.

Traduce «Autoremove Attachments» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

Version 1.3.1

  • Minor improvements to admin notices

Version 1.3.0

  • Minor code refactoring
  • Language files updated

Version 1.2.1

  • Fixed a bug that blocked changes to image sizes under Settings > Media

Version 1.2.0

  • Minor code refactoring
  • Extended support for WooCommerce and Easy Digital Downloads.
  • New safety checks when you empty your trash – We now try to determine if the child attachments marked for removal are used anywhere else on your website. If they are, we do not remove them, to prevent broken links.
  • New option under Settings > Media to disable the extra checks for improved performance on large websites with thousands of posts and media files. (where you might experience slow queries and timeouts when you empty your trash)

Otras consideraciones importantes

  • With the new safety checks enabled it’s fairly safe to reuse attachments between posts. But please, keep in mind, they are not fool-proof, especially if you store media file IDs or URLs in custom fields. That’s why we recommend you avoid reusing your attachments between posts, if possible.
  • Si necesitas usar un adjunto una y otra vez, súbelo desde el menú global de la biblioteca de medios ( Medios > Añadir nuevo ). De este modo, no se adjuntará como hijo a una entrada, página o tipo de contenido personalizado específico.

Version 1.1.2

  • New filter added to allow developers define custom rules for controlling when the child attachments should be removed automatically
  • Removed the old ‘autoremove_attachments_post_types’ filter in favor of the new one – instructions available in FAQ

Version 1.1.1

  • New filter added to allow developers to change for what post types the child attachments should be removed automatically ( see FAQ for instructions )
  • Fixed a minor incompatibility with WP-Sweep

Version 1.1.0

  • Minor improvements for the admin notice

Version 1.0.9

  • Performance improvements on websites with a large number of posts and attachments

Version 1.0.8

  • Added extra security checks before the removal of attachments
  • Added an admin notice with a warning about the limitations of this plugin and the consequences of its improper usage. ( for new users only )

Version 1.0.7

  • Minor code refactoring
  • Added full support for WordPress Multisite

Version 1.0.6

  • Code refactored using wpcs

Version 1.0.5

  • Improved the warning displayed when very old PHP versions are used

Version 1.0.4

  • Remove all options on uninstall, even for multisite

Version 1.0.3

  • Added a security check to avoid deleting attachments when the ID of the parent post is invalid

Version 1.0.2

  • Fixed a bug that was causing media files to be removed when revisions were deleted with wp-cron

Version 1.0.1

  • Minimum required version of PHP set to 5.3

Version 1.0.0

  • First release