X

Configurar la papelera de WordPress

Cuando eliminamos contenido, ya sea: entradas, páginas, comentarios o cualquier tipo de contenido personalizado, vemos que WordPress por defecto envía estos elementos a la papelera, en este artículo veremos cómo configurar la papelera de acuerdo a nuestras necesidades.

 

¿Cómo funciona la papelera de WordPress?

Cuando eliminamos contenido en WordPress este contenido no se elimina completamente, sino que se marca como enviado a la papelera, y permanece así durante 30 días, luego de los cuales se elimina de forma permanente.

En la siguiente imagen podemos ver el enlace de enviar a la papelera en el listado de entradas.

 
Si consultas la papelera puedes eliminar los elementos manualmente de forma permanente.

Esta funcionalidad de papelera lo tiene cualquier Custom Post Type que hayamos creado.

 

Mantener elementos en la papelera indefinidamente

Como habíamos visto anteriormente WordPress elimina los elementos de la papelera cada 30 días, si no quieres que elimine los elementos de la papelera de forma automática puedes usar el siguiente código.

function dcms_remove_schedule_delete() {
    remove_action( 'wp_scheduled_delete', 'wp_scheduled_delete' );
}
add_action( 'init', 'dcms_remove_schedule_delete' );

En el código anterior:

  • Usamos el Hook init, que hace referenciar a la función dcms_remove_schedule_delete
  • Dentro de esta función simplemente usamos un remove_action
  • El remove_action hace referencia al hook y a una función con el nombre wp_scheduled_delete que es parte del core de WordPress

Si usas esto, tendrás que eliminar los elementos de la papelera manualmente de forma periódica.
Puedes agregar este código al final de tu archivo functions.php de tu childtheme

 

Especificar la cantidad de días de permanencia en la papelera

Si quieres especificar una cantidad de días diferente a los 30 días que por defecto tiene WordPress para mantener elementos en la papelera, puedes hacerlo cambiando la constante EMPTY_TRASH_DAYS.

En el siguiente código se ha cambiado la constante EMPTY_TRASH_DAYS a 15 días.

define('EMPTY_TRASH_DAYS', 15);

Puedes agregar esta línea de código al inicio de tu archivo wp-config.php de tu sitio web WordPress.

 

Deshabilitar la funcionalidad de papelera

Si te has preguntado ¿que sucede si especifico 0 días en la constante EMPTY_TRASH_DAYS?, efectivamente, tal como debes estar pensando, si especificas a 0 días los elementos no se irán a la papelera y se borrarán de forma permanente directamente.

define('EMPTY_TRASH_DAYS', 0);

De hecho la interfaz de WordPress cambia un poco, tal como se muestra a continuación, ahora eliminarás elementos de forma permanente directamente.

 

Conclusión

Tal como hemos visto WordPress tiene una funcionalidad de enviar elementos a la papelera en donde permanecen por defecto 30 días antes de ser eliminados completamente, sin embargo usando Hooks o cambiando las constantes de configuración podemos cambiar este comportamiento de acuerdo a nuestras necesidades.

 

Categorías: Core

Ver comentarios (2)

  • Hola, ¿sabes cómo hacer para que pida confirmación? Puse el código de que se eliminara permanentemente, pero no tiene aviso de confirmación, esto podría ocasionarme un clic accidentalmente.

    • Hola, evaluaré lo que comentas para un futuro artículo. Creo que esto sería particularmente útil especialmente cuando se elimina directamente de forma permanente.