Comment contrôler le contenu de la version de mes pages?

13

Nous avons un site Web basé sur WordPress qui fournit de la documentation à notre API REST. Comme notre API est en constante évolution, la documentation l'est également. Cependant, nous aimerions garder la version de la documentation contrôlée afin qu'elle puisse être comparée aux validations de l'API. Existe-t-il un moyen pour que les pages WordPress obtiennent leur contenu à partir d'un référentiel distant (GitHub, par exemple)? Ou existe-t-il un moyen de pousser le contenu vers WordPress à partir d'un référentiel?

Elliot Cameron
la source

Réponses:

6

Vous avez déjà intégré quelque chose comme ceci: Révisions .

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

Vous pouvez simplement les saisir en appelant get_posts()avec un post_typede revision.

Pour montrer la différence entre deux révisions, utilisez simplement 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']
     )
);

Pour différencier, par exemple, la dernière version avec la version antérieure à la dernière, vous pouvez l'utiliser end( $revisions )['post_content']et la différencier avec $revisions[ count( $revisions ) -2 ]['post_content']. (Remarque: -2comme l'index des tableaux commence par zéro et que vous voulez la version avant la dernière.).

kaiser
la source
J'aime l'idée de la révision. Et il existe un plugin populaire WP Document Revisions qui peut aider à mieux gérer les révisions.
Anh Tran
@Rilwis devrait être une réponse alors :)
kaiser
5

Vous pouvez utiliser un crochet Git et publier par XML-RPC sur WordPress. Un hook Git peut être n'importe quel fichier exécutable, même PHP.

Une autre option - sur GitHub - consiste à utiliser le hook e-mail: accédez à https://github.com/username/projectname/admin/hooks, sélectionnez E - mail et envoyez un e-mail au blog. Activez la fonction Publier par e-mail .

fuxia
la source
2
+1 Maintenant, nous avons juste besoin d'une combinaison des deux fonctionnalités (construit en tant que plugin solide par l'OP) :)
kaiser