We have a WordPress-based website that provides documentation to our REST API. Since our API is constantly changing, so is the documentation. However, we would like to keep the documentation version controlled so it can be matched against API commits. Is there a way to have WordPress pages get their content from a remote repository (GitHub, for example)? Or is there a way to push content to WordPress from some repository?
You already got something like this built in: Revisions.
// Define the nr of saved revisions in your wp-config.php define( 'WP_POST_REVISIONS', 30 );
You can simply grab them by calling
get_posts() with a
To show the difference between two revisions simply use
// Example $revisions = get_posts( array( 'post_type' => 'revision' ) ); echo wp_text_diff( $revisions['post_content'] ,$revisions['post_content'] ,array( 'title' => 'Revision diff' ,'title_left' => $revisions['post_title'] ,'title_right' => $revisions['post_title'] ) );
To diff for e.g. the last version with the version prior to the last, you could use
end( $revisions )['post_content'] and diff it with
$revisions[ count( $revisions ) -2 ]['post_content']. (Note:
-2 as the arrays index start with zero and you want the version prior to the last.).
Another option – on GitHub – is to use the email hook: Go to
https://github.com/username/projectname/admin/hooks, select Email and send an email to the blog. Enable the Post per email feature.