web-dev-qa-db-fra.com

Existe-t-il un moyen d'obtenir le nombre de révisions d'un message?

Existe-t-il un moyen d’obtenir le nombre de révisions d’une publication? J'ai vu comment obtenir les révisions, mais je ne veux pas que les révisions se limitent au compte.

3
1.21 gigawatts

Vous pouvez utiliser wp_get_post_revisions ( int|WP_Post $post_id, $args = null ) . Il renvoie un tableau de révisions pour l'ID de publication validée ou un tableau vide si une publication validée ne comporte aucune révision.

Notez que le paramètre $args accepte tous les paramètres valides pour WP_Query.

$q = wp_get_post_revisions( 513 );
echo count( $q );
?><pre><?php var_dump($q); ?></pre><?php    

MODIFIER

À partir de vos commentaires sur les champs personnalisés, les champs personnalisés ne déclenchent pas le système de post-révision.

Je ne vais pas discuter du fonctionnement du système de révision, mais en bref, lorsqu'un post est mis à jour, les valeurs anciennes et nouvelles duWP_Postsont comparées. Il existe une action spécifique pour cela, post_updated . Si ces valeurs ne correspondent pas, une révision est créée (si les révisions sont activées).

Désormais, les champs personnalisés ne font pas partie de l'objet WP_Post; il ne faut donc pas créer de révision après la mise à jour d'un champ personnalisé, car l'objet de publication reste le même. De plus, les champs personnalisés n’ont pas non plus de système de révision, les anciennes valeurs sont donc complètement écrasées par les nouvelles valeurs.

4
Pieter Goosen