web-dev-qa-db-fra.com

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

Nous avons un site Web basé sur WordPress qui fournit de la documentation à notre API REST. Puisque notre API change constamment, la documentation l'est aussi. Cependant, nous aimerions garder la version de la documentation contrôlée afin qu'elle puisse être comparée aux validations d'API. Existe-t-il un moyen de faire en sorte que les pages WordPress obtiennent leur contenu depuis un référentiel distant (GitHub, par exemple)? Ou existe-t-il un moyen de transférer du contenu vers WordPress à partir d'un référentiel?

12
Elliot Cameron

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

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

Vous pouvez simplement les récupérer en appelant get_posts() avec un post_type de 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']
     )
);
5
kaiser

Vous pouvez utiliser un Git hook et post per XML-RPC à WordPress. Un hook Git peut être n’importe quel fichier exécutable, même PHP.

Une autre option - sur GitHub - consiste à utiliser le hook d'email: Allez à https://github.com/username/projectname/admin/hooks, sélectionnez Email et envoyez un email au blog. Activer la fonction Publier par courrier électronique .

5
fuxia