Ви вже вбудували щось подібне до цього: Ревізії .
// Define the nr of saved revisions in your wp-config.php
define( 'WP_POST_REVISIONS', 30 );
Ви можете просто захопити їх, зателефонувавши get_posts()з post_typeпро revision.
Щоб показати різницю між двома версіями, просто використовуйте wp_text_diff().
// Example
$revisions = get_posts( array(
'post_type' => 'revision'
) );
echo wp_text_diff(
$revisions[0]['post_content']
,$revisions[1]['post_content']
,array(
'title' => 'Revision diff'
,'title_left' => $revisions[0]['post_title']
,'title_right' => $revisions[1]['post_title']
)
);
Щоб відрізнятись, наприклад, останньою версією від версії до останньої, ви можете використовувати end( $revisions )['post_content']та відрізняти її $revisions[ count( $revisions ) -2 ]['post_content']. (Примітка: -2оскільки індекс масивів починається з нуля, і ви хочете, щоб версія була останньою.)