web-dev-qa-db-fra.com

Désactiver la suppression automatique de la corbeille?

Un de mes clients souhaite utiliser la fonctionnalité de corbeille, mais conserve les éléments indéfiniment (je ne sais pas pourquoi, mais ils insistent dessus).

De la lecture cet article de codex sur l'état de la corbeille , je vois que vous pouvez définir la constante EMPTY_TRASH_DAYS à zéro. Mais il dit que cela désactivera complètement la fonctionnalité de la corbeille. Je ne veux pas faire ça. Je veux juste désactiver le vidage automatique .

Y a-t-il un moyen de faire ça? Ou suis-je obligé de saisir un nombre énorme pour la valeur EMPTY_TRASH_DAYS?

5
MathSmath

Ma conjecture est - oui, vous êtes coincé avec exactement cela.

Les vérifications pour EMPTY_TRASH_DAYS semblent être codées en dur en tant que condition pour le changement d'interface entre la corbeille et la suppression à plusieurs endroits.

2
Rarst

Vous pouvez faire ce qui suit:

  • Définissez EMPTY_TRASH_DAYS sur un nombre très élevé. Par exemple: define( 'EMPTY_TRASH_DAYS', 1000000 );

  • Ou supprimez l'action wp_schedule_delete:

    function my_remove_schedule_delete() {
        remove_action( 'wp_scheduled_delete', 'wp_scheduled_delete' );
    }
    add_action( 'init', 'my_remove_schedule_delete' );
    
16
sorich87