[AUTOMATIQUE] Cet article a plus de 5 ans.
Il se peut donc que les informations qu'il fournit ne soient plus totalement exactes.

Simple Revisions Delete est un petit plugin très léger qui va vous permettre de supprimer les révisions d’un post lorsque vous êtes en train de l’éditer. Le plugin est très simple d’utilisation puisque vous n’avez qu’à cliquer sur un lien, et les révisions sont purgées en AJAX. Le traitement par actions groupées est également disponible (bulk action). Compatible avec Gutenberg (expérimental depuis la v1.5) et l’éditeur classique.

C’est quoi une « révision » ?

Une révision est une version antérieure d’un post, elle a été créée lorsque vous avez édité un post pour garder une trace de son contenu  avant cette modification. Toutes ces révisions composent donc une sorte d’historique des modifications qui permettent de revenir en arrière au besoins, c’est donc le versionning des contenus.

Pourquoi ce plugin ?

Lorsque je travail sur des sites WordPress, j’ai tendance à enregistrer des brouillons, faire des updates de post, de corrections orthographiques (un peu trop d’ailleurs…), etc. Bref, quand on bosse sur le contenu d’un site, surtout lors de sa création, on a tendance à enregistrer très souvent pour regarder ce que ça donne, mais à chaque enregistrement une nouvelle révision du post est créée, et donc la base de données à en quelque sorte une nouvelle entrée. En gros, imaginez que vous ayez 100 billets, vous les avez édité 10 fois chacun ce qui fait 100*10 soit 1000 posts enregistrés en base. Et donc 900 qui sont potentiellement inutiles et qui alourdissent les requêtes du site et la taille de la base de données.

Des solutions ?

Heureusement, il est y en a !

La première consiste à limiter le nombre de révisions à conserver. Pour ce faire, c’est super simple, une fois de plus on va faire un tour dans le CODEX sur la page qui présente les revisions et on nous apprend qu’il suffit de coller ceci dans le fichier wp-config :

define( 'WP_POST_REVISIONS', 3 );

On limite ainsi à 3 le nombre de révisions conservées par post.

Il existe également un excellemment plugin qui s’appel Better Delete Revision et qui permet de supprimer toutes les révisions à la fois. Il en profite également pour optimiser la base de données après ce petit nettoyage. Je le trouve très bon, et je l’utilise d’ailleurs souvent !

Dans mon cas, je ne trouvais pas toujours judicieux de supprimer toutes les révisions, surtout lorsque le site est multi-auteurs ou qu’il est en cours de développement. J’ai donc cherché et n’ayant rien trouvé j’ai décidé de le faire. C’est comme ça qu’est né Simple Revisions Delete.

Comment ça marche ?

Le plugin ajoute un lien très discret dans la submit-box des postes lors de l’édition pour vous permettre de purger les révisions du contenu via AJAX. Il est également possible les actions groupés (bulk actions) lorsque vous vous trouvez sur les pages qui listent vos posts. On peut ainsi supprimer les révisions de plusieurs posts à la fois, à condition qu’on est le droit de suppression sur ces mêmes posts.
Depuis la v1.3 vous pouvez supprimer les révisions une par une (voir les captures).

L’intégration et l’utilisation sont donc totalement transparentes.

D’un point de vu technique il est très « sommaire » et il n’utilise que des fonctions natives fournies par le cœur WordPress. On évite ainsi les requêtes en BDD douteuses, et on joue la carte de la sécurité. Les fonctions employées pour traiter les révisions sont wp_get_post_revisions et wp_delete_post_revision, pour le reste et en substance, le plugin utilise admin-ajax et WP Nonces pour la sécurité.

NOTA : Il n’y a pas de page d’admin pour ce plugin – ça n’est pas nécessaire.

Quoi de neuf ?

Depuis la v1.5, vous pouvez maintenant purger toutes les révisions de vos publications depuis l’éditeur Gutenberg.
Gardez à l’esprit que cette fonctionnalité est expérimentale. Je n’ai pas encore trouvé le moyen de le faire fonctionner correctement avec les méthodes disponibles de l’éditeur de blocs actuel. J’utilise jQuery (et AJAX), ce qui est plutôt un hack (une solution de contournement) et non une méthode propre compte tenu des langages utilisés par l’éditeur de blocs.

Depuis la v1.3, vous pouvez supprimer une seule révision à la fois (voir les captures d’écran).

NOTE: Il n’y a pas de page d’administrateur pour ce plugin – aucune n’est nécessaire.

Support des types de contenu

Les types de contenus supportés par défaut sont post et page, mais vous pouvez facilement en ajouter ou supprimer ceux par défaut grâce au hook suivant :

function bweb_wpsrd_add_post_types( $postTypes ){
	$postTypes[] = 'additional-cpt';
	$postTypes[] = 'another-cpt';
	return $postTypes;
}
add_filter( 'wpsrd_post_types_list', 'bweb_wpsrd_add_post_types' );

Pour activer automatiquement le support sur tous les types de contenu de votre site, vous pouvez utiliser la fonction du Core get_post_types()

function bweb_wpsrd_add_post_types( $postTypes ){
return get_post_types();
}
add_filter( 'wpsrd_post_types_list', 'bweb_wpsrd_add_post_types' );

Capacité d’utilisateur personnalisée

La capacité par défaut pour purger ou supprimer les révisions est delete_post, mais vous pouvez la modifier grâce au hook suivant :

function bweb_wpsrd_capability() {
	return 'edit_post';
}
add_filter('wpsrd_capability', 'bweb_wpsrd_capability');

Captures

simple-revisions-delete-screenshot-1

simple-revisions-delete-screenshot-2

simple-revisions-delete-screenshot-3

simple-revisions-delete-bulk-action-b-web

simple-revisions-delete-individual-b-web

screenshot-6

Langues

Le plugin ne contient que quelques phrases, mais vous pouvez facilement les traduire dans avec les fichiers .mo & .po. Les langues actuellement disponibles sont:

  • Anglais
  • Français
  • Allemand – Merci à mallard66
  • Hollandais – Merci à jondor

Pour devenir traducteur, contactez-moi par le biais de mon formulaire de contact.

 

Article rédigé parBrice CAPOBIANCO

Autodidacte passionné par WordPress. J'aime apprendre et créer pour ensuite partager !

Coorganisateur des Meetups WordPress Rennes et fondateur de bweb.
Partager cet article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Afficher les 3 commentaires

3 commentaires

  1. Bonjour Jean-Marc,
    Tu dois activer l’affichage des révisions en haut à droite des pages de contribution (options de l’écran) et tu verras ensuite la liste des révisions en bas de page. Tu pourras enfin les supprimer unitairement.
    Bonne journée,

  2. Merci Brice pour ce plugin !
    Qui fonctionne parfaitement pour supprimer toutes les révisions.
    J’ai installé la version 1.4.7 : et je ne sais pas comment supprimer les versions 1 par 1