如何控制页面内容的版本?


13

我们有一个基于WordPress的网站,为REST API提供文档。由于我们的API在不断变化,因此文档也在变化。但是,我们希望控制文档版本,以便可以与API提交进行匹配。有没有办法让WordPress页面从远程存储库(例如GitHub)获取其内容?还是有办法将内容从某个存储库推送到WordPress?

Answers:


6

您已经内置了以下内容:Revisions

// Define the nr of saved revisions in your wp-config.php
define( 'WP_POST_REVISIONS', 30 );

你可以简单地通过调用抓住他们get_posts()post_typerevision

要显示两个修订版之间的差异,只需使用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由于数组索引从零开始,因此您需要版本号在最后一个之前。)


我喜欢修订的想法。并且有一个流行的插件WP Document Revisions可以帮助更好地管理修订。
Anh Tran 2012年

@Rilwis应该是一个答案:)
kaiser

5

您可以使用Git挂钩并将每个XML-RPC发布到WordPress。Git挂钩可以是任何可执行文件,甚至可以是PHP。

在GitHub上,另一个选择是使用电子邮件挂钩:转到https://github.com/username/projectname/admin/hooks,选择电子邮件,然后将电子邮件发送到博客。启用按电子邮件发帖功能。


2
+1现在,我们只需要结合使用这两种功能(由OP作为内置插件构建):)
kaiser 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.