È possibile creare una revisione di una pagina o articolo già pubblicato? Quali alternative avete utilizzato?
Supponiamo che ho già pubblicato una pagina o un articolo. Ora voglio fare delle modifiche, ma vorrei che un collega le controllasse prima che vadano online. C'è un modo per farlo?
Modifica: Mi rendo conto che questo non è attualmente possibile come tale e sono interessato a soluzioni alternative creative.
Sul sito su cui sto lavorando attualmente, ho anche un sito di "staging" separato protetto da password per la bozza di modifiche/aggiunte importanti ai contenuti, e una volta approvate, copio e incollo sul sito live. Mi chiedo se qualcuno ha usato un metodo simile, ma magari ha automatizzato il "push" verso il sito live?
Sono a conoscenza di questa domanda: Sincronizzazione del database tra sviluppo/staging e produzione, ma riguarda più la sincronizzazione completa di interi database piuttosto che singole pagine o articoli.
Ora offro una ricompensa per cercare di ottenere ulteriori idee per soluzioni alternative.

Dovrebbe essere possibile aggiungere un pulsante alla casella di pubblicazione Salva come copia modificata. È necessario agganciarsi a content_save_pre
e poi copiare il contenuto e tutti i metadati in un nuovo post con stato bozza. Dopo la revisione, i post devono essere uniti nuovamente.
Non l'ho ancora fatto, ma è davvero necessario.

Mi piace questa idea semplice. L'API ha solo bisogno di una funzione Copy Post Revision
che sia in grado di copiare una revisione completa inclusi i metadati in un nuovo post (ancora non creato) o in un post esistente. Fatto ciò, la bozza della copia del post può essere copiata nel post originale in un secondo momento.

http://wordpress.org/extend/plugins/revisionary/
Questo plugin farà esattamente ciò che desideri. Crea un ruolo chiamato Revisore che si colloca tra il Collaboratore e l'Editore. L'interfaccia utente potrebbe essere migliorata e il codice interno ha dovuto aggirare molte funzionalità mancanti di WordPress, ma sì, risolve il tuo problema: ti permetterà di salvare una bozza (in realtà una 'revisione' in stato 'pending').
Aggiornamento 2018: Revisionary sembra aver interrotto lo sviluppo circa 3 anni fa. Tuttavia, consulta la risposta di Tessa riguardo a Revisionize (https://wordpress.org/plugins/revisionize). Revisionize sembra essere la soluzione migliore.
Aggiornamento 2019: Revisionary è ora di proprietà e viene attivamente sviluppato da PublishPress. Anche l'autore originale sta collaborando con loro per supportarlo.

Ho appena testato questo plugin su un'installazione aggiornata alla versione 3.1.2. Il processo di applicazione effettiva delle revisioni in sospeso sembra rotto. Data la scarsità della documentazione, non è chiaro se sia rotto in 3.1.2 o se l'esperienza utente prevista è che chi approva debba copiare-incollare manualmente la revisione nel post pubblicato. In ogni caso, non lo distribuirò ai miei utenti.

L'interfaccia utente è piuttosto strana, ma è perché non c'è un modo reale per integrarla correttamente in WP per quanto ne so. WP semplicemente non ha gli hook necessari. Quando l'ho testato, però ha funzionato... c'è un pulsante o un link da qualche parte che 'ripristina' la revisione. Non dovresti dover copiare-incollare nulla. Da allora sono passato a far inviare all'utente una email all'editor con la richiesta di revisione specifica perché non mi piace l'interfaccia.

Concordo, questo plugin spesso non funziona per me ed è incredibilmente pessimo da usare.

Non lo uso da 3 anni e mezzo; non darei per scontato che funzioni ancora. Probabilmente esiste un modo nuovo/migliore per fare questa cosa, dato che il core di WP è migliorato tantissimo da quando è stato scritto questo post.

Ciao @e100;
Se fossi interessato a una soluzione personalizzata con plugin, potrei immaginare diversi approcci.
Un processo simile a quello descritto da @toscho come "Salva come copia modificata" ma con alcune sottili differenze. Il plugin potrebbe bloccare la modifica degli articoli pubblicati ma permetterti di creare articoli derivati con un nuovo stato come "Bozza Aggiornata" che potrebbero essere collegati all'articolo originale tramite un campo personalizzato. Questi articoli derivati potrebbero poi essere modificati, revisionati, ecc. ma invece di avere l'opzione di pubblicarli avresti la possibilità di sostituire l'articolo originale con l'aggiornamento.
Un altro processo potrebbe utilizzare il sistema di revisioni integrato, anche se dovrei fare qualche ricerca per capire come servire al browser una versione che non sia la più recente; magari salvare il contenuto in un campo personalizzato e permetterti di continuare a lavorarci.
Un terzo processo potrebbe essere quello di configurare un secondo sito WordPress come sandbox di modifica, utilizzare servizi web per recuperare gli articoli, permetterti di modificarli da remoto e poi, quando sei pronto a pubblicarli, potresti inviarli nuovamente al sito principale.
Simile al punto #3, potresti configurare una sandbox di modifica utilizzando un'installazione WordPress Multisite e creare blog non pubblici per ogni autore da utilizzare come propria sandbox di modifica.
Ancora una volta, tutte queste opzioni richiederebbero lo sviluppo di plugin personalizzati.
Se stai cercando plugin esistenti, potresti dare un'occhiata a questi, anche se non ho ancora un'esperienza specifica con loro, quindi non so se qualcuno di questi farà esattamente ciò di cui hai bisogno:
Assignment Desk è uno strumento editoriale per organizzazioni giornalistiche che utilizzano WordPress come sistema di gestione dei contenuti. L'obiettivo del plugin è rendere più semplice ed efficiente l'engagement della comunità con il processo di produzione delle notizie.
Edit Flow offre una suite di funzionalità per ridefinire il tuo flusso di lavoro editoriale all'interno di WordPress.
Peter's Post Notes - Aggiungi note nelle barre laterali delle schermate "modifica articolo" e "modifica pagina" in WordPress 2.8 e versioni successive. Se utilizzato con Peter's Collaboration E-mails 1.2 e versioni successive, le note vengono inviate insieme alle e-mail nel flusso di lavoro di collaborazione. C'è anche un sistema di note generali e private nella dashboard.

il tuo primo suggerimento sembra una soluzione davvero fantastica! Ah, e Buon Ringraziamento Mike, visto che sei SEMPRE quello che dà consigli/soluzioni eccellenti a tutti noi!

Questa è una domanda davvero vecchia, e mentre guardavo alcuni dei plugin menzionati qui, ho notato che molti non sono più mantenuti o non erano esattamente quello che cercavo.
Alla fine, ne ho trovato uno che mi piace chiamato Revisionize. Anche se la sua reputazione e utilizzo non sono ancora elevati dato che è piuttosto nuovo, mi piace.
Pro:
- Interfaccia utente piacevole all'interno di WordPress, i pulsanti sono facili da trovare e ci sono avvisi e note quando usi il plugin che spiegano cosa faranno i pulsanti se premuti.
- Ha una valutazione di
5 stelle4.9 stelle - È ancora mantenuto dal suo sviluppatore
- Compatibile con il plugin Advanced Custom Fields
- Compatibile con il plugin Public Post Preview
Contro:
Solo 300+4.000+ installazioni attiveSolo 4 recensioni21 recensioni- Nessun supporto per Gutenberg
Liste aggiornate al 15 agosto 2019. Anche se rimane un ottimo plugin, se stai usando l'editor a blocchi Gutenberg, potrebbe non fare per te.

Ciao, sono l'autore del plugin Revisionize. Ha fatto molta strada - sto per lanciare la versione 2.1 che aggiunge una migliore compatibilità con multisite/network. L'ultima versione ha un pannello di impostazioni di base e ora sono disponibili alcuni addon a pagamento su https://revisionize.pro che aggiungono il supporto per i collaboratori per revisionare i contenuti esistenti e inviare modifiche per la revisione. Ci sono ora oltre 1000 installazioni attive e 11 recensioni a 5 stelle.

Sì, ora sei arrivato a 18 recensioni a 5 stelle! Credo davvero che questo (e Revisionize) dovrebbe essere la risposta accettata al giorno d'oggi.

Purtroppo non al momento. Se la pagina/articolo è già pubblicato, l'unica soluzione sarebbe creare una pagina/articolo nuovo per inserire le modifiche e pubblicarlo in modo privato così che il tuo collega possa verificare i tuoi cambiamenti. Successivamente potrai sostituire il contenuto della pagina/articolo live con la versione revisionata.
Solo per tua informazione: Apportare modifiche in stato bozza a contenuti già pubblicati non è un flusso di lavoro utilizzato da molti utenti WordPress. Solo nell'ultimo mese ho sentito parlare di almeno 3 metodi diversi con cui le persone vorrebbero che venisse gestito... senza uno standard su come inviare revisioni per contenuti già pubblicati, le possibilità che questa diventi una funzionalità di WordPress sono scarse.

Hmmm, mi sembra strano che questo tipo di flusso di lavoro non sia più richiesto, soprattutto considerando che WP viene sempre più spinto come un CMS completo con tipi di contenuti personalizzati, ecc.

Il problema è che "questo tipo di flusso di lavoro" viene definito in modo diverso da molte persone diverse. Se ci fosse uno standard, sarebbe facile includerlo. Senza uno standard, personalizzare WP per un flusso di lavoro aliena gli altri. Per come stanno le cose, è più semplice lasciare che gli sviluppatori creino soluzioni personalizzate per situazioni specifiche.

Sarei davvero interessato a sentire quei tre diversi modi in cui le persone vogliono gestire il flusso di lavoro.

I due che ricordo specificamente: 1) Basato su ruoli: I collaboratori possono modificare il contenuto di un articolo e fare clic su "invia revisione" che deve essere approvata prima che le modifiche vengano pubblicate. 2) Revisioni separate: Gli utenti possono selezionare una revisione di qualsiasi articolo e copiarla automaticamente in un nuovo articolo senza ripristinare la versione esistente.

forse una soluzione semplice: il plugin http://wordpress.org/extend/plugins/duplicate-post/ per copiare un articolo

C'è un plugin chiamato Live drafts che sembra funzionare piuttosto bene?

Se stai ancora cercando una soluzione dai un'occhiata a questo: https://github.com/malithmcr/wp-draft-published

Ora esiste una soluzione molto elegante a questo problema con il plugin Drafts of Post Revisions.
Gli utenti possono essere autorizzati a creare una bozza di revisione di un articolo pubblicato (o un custom post type) che viene creata come copia figlia del post.
Le bozze possono essere confrontate con il genitore pubblicato tramite la funzione di confronto delle revisioni.
Quando si pubblica una bozza di revisione, tutte le modifiche vengono integrate nel post genitore e la bozza viene eliminata. È possibile mantenere anche più bozze contemporaneamente.
Lo consiglio vivamente a tutti - sta diventando un plugin standard per i siti WordPress. Tuttavia, sospetto che potremmo vedere questo tipo di funzionalità sviluppata direttamente nel core di WordPress nel prossimo futuro.

Ho trovato questa risposta qui che ha funzionato per me. L'ho modificata leggermente dato che sto utilizzando ruoli utente personalizzati.
function published_to_pending( $post_id ) {
global $post;
if ( ! is_object( $post ) ) {
return;
}
if ( ! current_user_can( 'publish_posts' ) && $post->post_status == 'publish' ) {
// interrompe la chiamata ricorsiva
remove_action( 'save_post', 'published_to_pending' );
// aggiorna il post, che richiama save_post nuovamente
wp_update_post( array( 'ID' => $post_id, 'post_status' => 'pending' ) );
// riattiva questa funzione
add_action( 'save_post', 'published_to_pending' );
}
}
add_action( 'save_post', 'published_to_pending' );

Ciao @e100 :)
Penso che una soluzione intelligente sarebbe utilizzare un plugin gratuito esistente. Fa tutte le cose di cui hai scritto. Puoi scaricarlo da WordPress.org: https://wordpress.org/plugins/revision-manager-tmc/
Questo plugin viene aggiornato molto spesso e regolarmente
Revision Manager TMC funziona alla grande con un secondo plugin gratuito per modificare le capacità dei ruoli utente - User Role Editor https://wordpress.org/plugins/user-role-editor/

A partire dal 2019 questa è la soluzione più completa. È simile a Revisionize, ma più intuitiva e più completa. 1) Le revisioni sono collegate ai post originali; 2) Permette di assegnare agli editori un "Ruolo di Collaboratore", limitando il loro accesso al post originale; 3) Fa sentire le revisioni come tali, ad esempio nascondendo le opzioni di pubblicazione, ecc..

Ora c'è una nuova funzionalità nel plugin (ora Yoast) Duplicate Post che ti permette di "Riscrivi & Ripubblica" un articolo. Questo ti consente di salvare le modifiche come bozza e programmare la ripubblicazione unendo le revisioni con l'originale.
Puoi trovare maggiori dettagli qui: https://yoast.com/help/how-to-use-the-rewrite-republish-feature-in-yoast-duplicate-post/

Probabilmente alla fine utilizzerò uno dei plugin menzionati nelle altre risposte, ma quando avevo bisogno di questa funzionalità e non avevo tempo per cercare i plugin, ho fatto in modo che le revisioni fossero attive, ho salvato le modifiche e immediatamente le ho annullate.
Ora la mia "bozza" è nel sistema di revisione.
Non è l'ideale su un sistema di produzione, ma sufficientemente buono su un sistema di sviluppo, fino a quando non si decide quale plugin utilizzare.
