web-dev-qa-db-fra.com

Numéros de révision par type de poste

Dans wp-config.php, vous pouvez changer la manière dont WordPress traite les révisions postérieures . Plus précisément, vous pouvez les désactiver ou spécifier un nombre maximal de révisions.

J'aimerais pouvoir définir un nombre maximal ou des révisions par type de publication.

Est-ce possible?

6
chrisguitarguy
  1. Supprimez l'action 'wp_save_post_revision' de 'pre_post_update'. Il est défini par défaut dans wp-includes/default-filters.php avec la priorité par défaut (10).

  2. Ajoutez votre propre fonction à ce crochet. Vous obtenez le $post_ID en paramètre, donc détecter le type de publication est facile.

  3. Dans votre rappel, copiez le code de wp_save_post_revision() mais utilisez la constante WP_POST_REVISIONS pour le type de publication post uniquement et utilisez des valeurs différentes pour les autres types de publication. Pas sûr s'il est possible de passer des valeurs supplémentaires dans register_post_type()

1
fuxia

C'est possible, mais ce n'est pas aussi simple que de changer la propriété WP_POST_REVISIONS dans le wp-config.php. Ceci est possible en ajoutant un filtre à 'wp_insert_post_data'.

L'ajout d'un filtre se fait comme ceci:

add_filter('wp_insert_post_data' , 'my_insert_post_data');

function my_insert_post_data($data , $postarr) {
  // Check the revision stuff
  return $data;
}
1
Barry Kooij