Wie kann ich den Inhalt meiner Seitenversion kontrollieren?

13

Wir haben eine WordPress-basierte Website, die Dokumentation zu unserer REST-API bietet. Da sich unsere API ständig ändert, ändert sich auch die Dokumentation. Wir möchten jedoch die Dokumentationsversion so steuern, dass sie mit API-Commits abgeglichen werden kann. Gibt es eine Möglichkeit, dass WordPress-Seiten ihren Inhalt aus einem Remote-Repository beziehen (z. B. GitHub)? Oder gibt es eine Möglichkeit, Inhalte aus einem Repository in WordPress zu übertragen?

Elliot Cameron
quelle

Antworten:

6

Sie haben bereits so etwas eingebaut: Überarbeitungen .

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

Sie können sie einfach durch den Aufruf greifen get_posts()mit einem post_typevon revision.

Um den Unterschied zwischen zwei Revisionen anzuzeigen, verwenden Sie einfach 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']
     )
);

Um zB die letzte Version mit der vorherigen Version zu vergleichen, können Sie sie verwenden end( $revisions )['post_content']und mit vergleichen $revisions[ count( $revisions ) -2 ]['post_content']. (Hinweis: -2Da der Array-Index mit Null beginnt und Sie die Version vor der letzten Version haben möchten.)

Kaiser
quelle
Ich mag die Idee der Revision. Und es gibt ein beliebtes Plugin, mit dem WP Document Revisions Revisionen besser verwalten können.
Anh Tran
@ Rilwis Sollte dann eine Antwort sein :)
Kaiser
5

Sie können einen Git-Hook verwenden und per XML-RPC in WordPress posten . Ein Git-Hook kann eine beliebige ausführbare Datei sein, auch PHP.

Eine andere Option - auf GitHub - ist die Verwendung des E-Mail-Hooks: Gehen Sie zu https://github.com/username/projectname/admin/hooks, wählen Sie E-Mail und senden Sie eine E-Mail an den Blog. Aktivieren Sie die Funktion Per E-Mail senden.

fuxia
quelle
2
+1 Jetzt brauchen wir nur noch eine Kombination beider Funktionen (vom OP als solides Plugin erstellt) :)
kaiser