J'ai essayé de trouver un filtre ou des paramètres dans WordPress pour contrôler le comportement de l'enregistrement automatique, de préférence par type de message. Lors de l'interrogation de la base de données, nos brouillons automatiques ne remontent qu'une semaine en arrière. Existe-t-il quelque chose dans WordPress qui contrôle ce comportement? J'aimerais pouvoir conserver la rédaction automatique au moins 90 jours pour certains types de publication, si possible?
J'ai lu l'article suivant concernant la sauvegarde automatique, peut-être que je ne comprends pas bien, mais mon expérience est lorsque je crée un nouveau message, l'enregistrement est en statut de brouillon automatique et un autre est créé lorsque j'actualise post-new.php. Cet article semble impliquer un seul enregistrement automatique par utilisateur ...
https://codex.wordpress.org/Revisions
Peut-être que l'enregistrement automatique et l'enregistrement en tant que brouillon automatique ne sont pas liés. Je suis plus intéressé par la façon de conserver plus longtemps les enregistrements de brouillon, ce qui n’a peut-être rien à voir avec la sauvegarde automatique. Merci pour tout conseil!
L'enregistrement automatique consiste simplement à enregistrer automatiquement vos publications en arrière-plan lors de la modification. C'est donc différent des révisions et pour chaque publication, il n'y aura qu'une sauvegarde automatique par utilisateur. Ceci est extrait du document:
Il n’existe jamais plus d’une sauvegarde automatique par utilisateur pour une publication donnée. Les nouvelles sauvegardes automatiques remplacent les anciennes sauvegardes automatiques.
Vous pouvez manipuler la rapidité de l'enregistrement automatique en définissant la constante AUTOSAVE_INTERVAL
dans le fichier wp-config.php
. Par exemple, pour enregistrer automatiquement les articles/pages que vous éditez toutes les 30 secondes:
define('AUTOSAVE_INTERVAL', 30 );
Ceci est utile au cas où votre connexion Internet serait perdue ou que l'ordinateur s'éteigne accidentellement avant de pouvoir enregistrer les modifications. Lorsque l'intervalle d'enregistrement automatique est défini sur 30 secondes, vous ne perdrez que 30 secondes au maximum de modification.
La révision consiste à décider du nombre de modifications que vous souhaitez conserver dans votre message. Donc, si la révision est activée et que vous enregistrez une publication 24 fois, WordPress conservera la 24e version en tant que publication originale et les 23 autres versions en tant que révisions.
Note: _ WordPress ne conserve pas les versions à enregistrement automatique en tant que révisions. Seules les sauvegardes que vous avez intentionnellement effectuées (en cliquant sur Enregistrer ou Publier) sont conservées en tant que révisions.
Par défaut, WordPress conserve un nombre infini de révisions si la révision est activée. Donc, à moins d'indication contraire, WordPress ne supprime aucune révision automatiquement. Toutefois, ce comportement peut être modifié à l'aide de WP_POST_REVISIONS
constant ou wp_revisions_to_keep
filter.
Par exemple, pour ne conserver que les 22 dernières révisions, vous pouvez définir les éléments suivants dans le fichier wp-config.php
:
define( 'WP_POST_REVISIONS', 22 );
ou en utilisant le code suivant dans le fichier functions.php
de votre thème ou dans un plugin personnalisé:
add_filter( 'wp_revisions_to_keep', 'wpse257846_num_revisions_to_keep', 10, 2 );
function wpse257846_num_revisions_to_keep( $num, $post ) {
// you may use the $post variable to manipulate this number as needed
if( 'my_custom_post' == $post->post_type ) {
// for 'my_custom_post' post type, keep last 100 revisions
// this is only about how many revisions to keep,
// not about how old they are
// to decide how old revision you want to keep,
// you need to make more complex query about date here
return 100;
}
if( 'my_most_important_post' == $post->post_type ) {
// returning -1 means WordPress will never delete revisions
// for 'my_most_important_post' post type
return -1;
}
// if for all other post types we want to keep just the last 22 revisions
return 22;
}