Come posso mantenere controllato il contenuto della mia pagina?


13

Abbiamo un sito Web basato su WordPress che fornisce documentazione alla nostra API REST. Poiché la nostra API è in continua evoluzione, lo è anche la documentazione. Tuttavia, vorremmo mantenere la versione della documentazione controllata in modo che possa essere abbinata a commit API. C'è un modo per fare in modo che le pagine di WordPress ottengano il loro contenuto da un repository remoto (GitHub, per esempio)? O c'è un modo per spingere il contenuto su WordPress da un repository?

Risposte:


6

Hai già qualcosa di simile incorporato: Revisioni .

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

Puoi semplicemente afferrarli chiamando get_posts()con un post_typedi revision.

Per mostrare la differenza tra due revisioni basta usare 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']
     )
);

Per diff. Ad es. Con l'ultima versione con la versione precedente all'ultima, è possibile utilizzare end( $revisions )['post_content']e diff $revisions[ count( $revisions ) -2 ]['post_content']. (Nota: -2poiché l'indice delle matrici inizia con zero e si desidera che la versione sia precedente all'ultima.).


Mi piace l'idea di Revision. E c'è un popolare plugin WP Document Revisions che può aiutare a gestire meglio le revisioni.
Anh Tran,

@Rilwis Dovrebbe essere una risposta allora :)
kaiser

5

È possibile utilizzare un hook Git e pubblicare per XML-RPC su WordPress. Un hook Git può essere qualsiasi file eseguibile, anche PHP.

Un'altra opzione - su GitHub - è utilizzare l'hook dell'email: vai su https://github.com/username/projectname/admin/hooks, seleziona Email e invia un'e-mail al blog. Abilita la funzione Posta per e-mail .


2
+1 Ora abbiamo solo bisogno di una combinazione di entrambe le funzionalità (costruita come solido plug-in dall'OP) :)
Kaiser
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.