Apakah ada cara untuk menyusun revisi dari halaman atau posting yang diterbitkan? Penanganan apa yang telah Anda gunakan?

38

Katakanlah saya sudah menerbitkan halaman atau posting. Saya sekarang ingin membuat perubahan, tetapi saya ingin seorang kolega memeriksanya sebelum ditayangkan. Apakah ada cara untuk melakukan ini?

Sunting: Saya menyadari ini saat ini tidak mungkin dilakukan dan ini solusi kreatif yang saya minati.

Di situs yang sedang saya kerjakan, saya juga memiliki situs 'pementasan' yang dilindungi kata sandi terpisah untuk menyusun perubahan / penambahan konten utama, dan setelah disetujui saya menyalin dan menempel ke situs langsung. Saya bertanya-tanya apakah ada yang menggunakan metode serupa, tetapi mungkin otomatis 'mendorong' ke situs langsung?

Saya menyadari pertanyaan ini: Sinkronisasi basis data antara dev / staging dan produksi , tapi itu lebih tentang sinkronisasi grosir seluruh database daripada masing-masing halaman atau posting.

Sekarang menawarkan hadiah untuk mencoba dan mengusir beberapa ide tambahan untuk penyelesaian masalah.

e100
sumber
3
Jika ada yang bisa menjawab ini, pertanyaan terkait yang lebih tua mungkin juga bisa dijawab.
Jan Fabry
wordpress.org/plugins/revisionize tampaknya melakukan apa yang Anda butuhkan. Plugin yang berguna.
Rod Salm
Pada 2019, lihat wordpress.org/plugins/revision-manager-tmc . Ini pemain yang lebih baru, tetapi lebih banyak fitur yang lengkap dan lebih terawat.
timofey.com
1
Saya telah membuat plugin kecil untuk ini. Lihat ini. Bisa membantu: github.com/malithmcr/wp-draft-published
Malith

Jawaban:

21

Seharusnya dimungkinkan untuk menambahkan tombol ke kotak Terbitkan Simpan sebagai salinan yang diubah . Anda harus menghubungkan ke sana content_save_prelalu menyalin konten dan semua data meta ke pos baru dengan status konsep. Setelah ditinjau posting harus digabungkan kembali.

Saya belum melakukan ini, tetapi ini benar-benar diperlukan.

fuxia
sumber
2
Saya suka ide sederhana ini. API hanya membutuhkan Copy Post Revisionfungsi yang dapat menyalin termasuk revisi penuh. metadata ke pos baru (belum dibuat) atau ke pos yang ada. Setelah itu, salinan draf pos dapat disalin ke pos asli nanti.
hakre
@ tooscho Saya hanya ingin tahu apakah ini masih cara terbaik untuk menyelesaikan masalah? Mungkin seseorang telah mendapatkan contoh kode atau sesuatu yang lebih konkret? Terima kasih
dashaluna
10

http://wordpress.org/extend/plugins/revisionary/

Plugin ini akan melakukan apa yang Anda inginkan. Ini menciptakan Revisor peran yang ada di antara Kontributor dan Editor. UI dapat ditingkatkan dan kode internal harus bekerja di sekitar banyak fitur WordPress yang hilang, tapi ya, ini memecahkan masalah Anda: Ini akan memungkinkan Anda untuk menyimpan konsep (sebenarnya 'menunggu' 'revisi').

Pembaruan 2018 : Revisi tampaknya telah menghentikan pengembangan sekitar 3 tahun yang lalu. Namun, lihat jawaban Tessa tentang Revisionize ( https://wordpress.org/plugins/revisionize ). Revisionize sepertinya solusi terbaik.

Pembaruan 2019 : Revisi sekarang dimiliki dan sedang dikembangkan secara aktif oleh PublishPress. Penulis asli juga bekerja sama dengan mereka untuk mendukungnya.

WraithKenny
sumber
Saya baru saja menguji plugin ini pada pemasangan 3.1.2 yang baru saja ditingkatkan. Proses penerapan revisi yang tertunda tampaknya rusak. Mengingat minimnya dokumentasi, tidak jelas apakah itu rusak di 3.1.2, atau jika UX yang dimaksud adalah bahwa pihak yang menyetujui harus menyalin-tempel revisi ke dalam posting yang diterbitkan secara manual. Bagaimanapun, saya tidak mendorong ini ke pengguna saya.
marfarma
UI ini cukup aneh, tapi itu karena tidak ada cara nyata untuk mengintegrasikannya ke dalam WP dengan baik sejauh yang saya tahu. WP tidak memiliki kaitan untuk itu. Ketika saya mengujinya, ternyata berhasil ... ada tombol atau tautan di suatu tempat yang 'mengembalikan' revisi. Anda tidak perlu menyalin-menempelkan apa pun. Sejak itu saya beralih ke meminta pengguna untuk mengirim email kepada editor dengan permintaan revisi khusus karena saya tidak suka UI.
WraithKenny
Setuju, plugin ini jika sering rusak untuk saya, dan sangat mengerikan untuk digunakan.
James
Saya belum menggunakannya dalam 3 1/2 tahun; Saya tidak akan menganggap itu masih berfungsi. Pasti ada cara baru / lebih baik untuk melakukan ini, karena hal-hal di WP core telah meningkat pesat sejak posting ini.
WraithKenny
1
Tampaknya akan bekerja sampai hari ini
Yohanes
6

Hai @ e100 ;

Jika Anda tertarik dengan solusi plugin khusus, saya dapat membayangkan beberapa pendekatan.

  1. Sebuah proses yang mirip dengan apa yang @toscho gambarkan sebagai "Simpan sebagai Salinan yang Diubah" tetapi dengan beberapa perbedaan halus. Plugin dapat mengunci pengeditan posting yang diterbitkan tetapi memungkinkan Anda untuk membuat posting yang diturunkan dengan status baru seperti "Konsep Diperbarui" yang dapat diikat kembali ke posting asli melalui bidang khusus. Posting turunan ini kemudian dapat diedit, ditinjau, dll. Tetapi alih-alih memiliki opsi untuk mempublikasikan Anda akan memiliki opsi untuk mengganti posting asli dengan pembaruan Anda.

  2. Proses lain dapat menggunakan sistem revisi built-in meskipun saya harus melakukan riset untuk mengetahui cara melayani versi browser yang bukan yang terbaru; mungkin menyimpan konten sebagai bidang khusus dan memungkinkan Anda untuk terus mengerjakannya.

  3. Proses ketiga mungkin untuk mengatur situs WordPress kedua sebagai kotak pasir pengeditan , menggunakan layanan web untuk mengambil posting, memungkinkan Anda untuk mengeditnya dari jarak jauh, dan kemudian ketika Anda siap untuk mempublikasikannya, Anda bisa mendorong kembali ke situs utama.

  4. Mirip dengan # 3 Anda dapat mengatur kotak pasir pengeditan menggunakan instalasi WordPress Multisite dan membuat blog non-publik untuk setiap penulis untuk memiliki kotak pasir pengeditan mereka sendiri.

Sekali lagi, semua opsi itu membutuhkan pengembangan plugin khusus.

Jika Anda mencari plugin yang ada, Anda ingin melihatnya walaupun saya belum memiliki pengalaman khusus dengan mereka, jadi saya tidak tahu apakah ada di antaranya yang akan melakukan apa yang dibutuhkan:

  • Assignment Desk adalah alat editorial untuk organisasi berita yang menggunakan WordPress sebagai sistem manajemen konten mereka. Tujuan dari plug-in adalah untuk membuat keterlibatan masyarakat dengan proses produksi berita lebih mudah dan lebih efisien.

  • Edit Flow menawarkan rangkaian fungsionalitas untuk mendefinisikan ulang alur kerja editorial Anda di dalam WordPress.

  • Catatan Posting Peter - Tambahkan catatan pada sidebars layar "edit posting" dan "edit halaman" di WordPress 2.8 dan lebih tinggi. Ketika digunakan dengan Peter's Collaboration E-mail 1.2 dan lebih tinggi, catatan dikirim bersama dengan email dalam alur kerja kolaborasi. Ada juga sistem catatan umum dan pribadi di dasbor.

MikeSchinkel
sumber
saran pertama Anda terdengar seperti solusi yang sangat keren! Oh dan Selamat Hari Thanksgiving Mike, melihat SELALU orang yang memberikan saran / solusi luar biasa kepada kita semua!
NetConstructor.com
1
Semua saran itu untuk plugin yang menangani posting yang tidak dipublikasikan. Apa yang tidak dimiliki WordPress (yang dilakukan oleh semua CMS lainnya) adalah cara untuk menyimpan draf yang sedang berlangsung dari revisi untuk pos yang sudah dipublikasikan.
James
4

Ini adalah pertanyaan yang sangat lama, dan sambil melihat beberapa plugin yang disebutkan di sini, saya perhatikan bahwa banyak yang tidak terawat atau tidak seperti yang saya cari.

Pada akhirnya, saya menemukan yang saya sukai bernama Revisionize . Meskipun reputasi dan penggunaannya belum maksimal karena agak baru, saya menyukainya.

Pro:

  1. UI yang bagus di dalam WordPress, tombolnya mudah ditemukan dan ada peringatan dan catatan ketika Anda menggunakan plugin apa yang akan dilakukan dengan menekan tombol.
  2. Memiliki peringkat bintang 5 4,9
  3. Masih dikelola oleh pengembangnya
  4. Kompatibel dengan plugin Bidang Kustom Tingkat Lanjut
  5. Kompatibel dengan plugin Public Post Preview

Cons:

  1. Hanya 300+ 4.000+ pemasangan aktif
  2. Hanya 4 ulasan 21 ulasan
  3. Tidak ada dukungan Gutenberg

Daftar yang diperbarui pada 15 Agustus 2019 . Meskipun masih merupakan plugin yang bagus, jika Anda menggunakan editor blok Gutenberg, itu mungkin bukan untuk Anda.

Tessa
sumber
1
Hai saya pengaya plugin Revisionize. Ini sudah jauh - untuk meluncurkan versi 2.1 yang menambahkan peningkatan kompatibilitas multisite / jaringan. Versi terbaru memiliki panel pengaturan dasar dan sekarang ada beberapa add-on berbayar yang tersedia, formulir revisi.pro yang menambahkan dukungan bagi kontributor untuk merevisi konten yang ada dan mengirimkan perubahan untuk ditinjau. Sekarang ada 1000+ pemasangan aktif dan 11 ulasan bintang 5.
Jamie Chong
Ya, Anda memiliki hingga 18 ulasan bintang 5! Saya sangat percaya ini (dan Revisi) harus menjadi jawaban yang diterima sekarang-a-hari.
WraithKenny
Sudah ada peningkatan yang solid dengan Revisionize. Terima kasih @JamieChong
timofey.com
3

Sayangnya, saat ini tidak. Jika halaman / posting sudah diterbitkan, satu-satunya jalan akan membuat baru halaman / posting untuk menahan suntingan Anda dan pribadi mempublikasikannya sehingga rekan Anda dapat memeriksa perubahan Anda. Kemudian ganti konten pada halaman / postingan Anda dengan versi yang direvisi.

Hanya FYI: Membuat perubahan status konsep untuk konten yang sudah diterbitkan adalah alur kerja yang tidak dipekerjakan oleh banyak pengguna WordPress. Saya telah mendengar setidaknya 3 cara berbeda yang orang inginkan dilakukan dalam sebulan terakhir, juga ... jadi tanpa standar di sini-is-how-you-submit-revision-to-sudah-diterbitkan-workflow konten, kemungkinan ini menjadi fitur WordPress sangat kecil.

EAMann
sumber
2
Hmmm, sepertinya aneh bagi saya bahwa alur kerja semacam ini tidak diminati, terutama karena WP semakin didorong sebagai CMS berfitur lengkap dengan tipe konten khusus, dll.
e100
1
Masalahnya adalah bahwa "alur kerja semacam ini" didefinisikan secara berbeda oleh begitu banyak orang yang berbeda. Jika ada standar, akan mudah dimasukkan. Tanpa standar, menyesuaikan WP untuk satu alur kerja mengasingkan yang lain. Seperti berdiri, lebih mudah untuk membiarkan pengembang membangun solusi khusus untuk situasi tertentu.
EAMann
Saya akan benar-benar tertarik mendengar tiga cara berbeda yang orang inginkan untuk mengelola alur kerja.
MikeSchinkel
Dua hal yang dapat saya ingat secara khusus: 1) Berbasis peran : Kontributor dapat mengedit konten kiriman dan klik "kirim revisi" yang harus ditinjau sebelum perubahan ditayangkan. 2) Revisi Terpisah : Pengguna dapat memilih peninjauan posting apa pun dan secara otomatis menyalin revisi ke pos baru tanpa menggulirkan pos yang ada kembali.
EAMann
1

Meskipun ini mungkin tidak akan menyelesaikan masalah spesifik Anda, saya sarankan Anda melihat plugin "Edit Flow" di wordpress.org. Ini adalah plugin yang sangat apik yang mungkin sangat berguna bagi Anda.

NetConstructor.com
sumber
Nggak. Editflow hanya memungkinkan pengaturan beberapa status dari posting yang tidak dipublikasikan. Yang diperlukan adalah cara untuk menyimpan konsep pembaruan yang sedang dalam proses untuk posting yang sudah diterbitkan. itu adalah salah satu misi paling menakjubkan di WordPress.
James
1

Sekarang ada solusi yang sangat rapi untuk ini dengan plugin Draf Revisi Post .

Pengguna dapat diizinkan untuk membuat draf revisi posting yang dipublikasikan (atau jenis posting khusus) yang dibuat sebagai salinan anak dari posting tersebut.

Draf dapat dibandingkan dengan induknya yang diterbitkan melalui fitur bandingkan revisi.

Pada penerbitan draft revisi, setiap perubahan diintegrasikan kembali ke induk ketika draft tersebut dibuang. Beberapa konsep juga dapat dipertahankan.

Akan merekomendasikan ini kepada siapa pun - itu menjadi plugin standar untuk situs WordPress. Namun, saya menduga kita mungkin melihat fitur semacam ini sedang dikembangkan di inti WordPress dalam waktu dekat ..

Xave
sumber
5 tahun sejak pembaruan
1

Hai @ e100 :)

Saya pikir solusi cerdas bagi Anda untuk menggunakan plugin gratis yang ada. Itu melakukan semua hal yang Anda tulis. Cukup unduh dari WordPress.org: https://wordpress.org/plugins/revision-manager-tmc/
Plugin ini sangat sering dan secara teratur diperbarui

Revision Manager TMC bekerja sangat baik dengan plugin gratis kedua untuk mengedit kemampuan peran pengguna - Editor Peran Pengguna https://wordpress.org/plugins/user-role-editor/

Yaworek
sumber
1
Pada 2019 ini adalah solusi paling lengkap. Ini mirip dengan Revisionize, tetapi lebih intuitif dan lebih lengkap. 1) Revisi dikaitkan dengan posting asli; 2) Memungkinkan Anda menetapkan "Peran Berkontribusi" pada editor, sambil membatasi mereka dari pos asli; 3) Itu membuat revisi terasa seperti revisi, yaitu menyembunyikan opsi penerbitan, dll.
timofey.com
Dan dukungan ACF.
0

Saya mungkin akan berakhir menggunakan salah satu plugin yang disebutkan dalam jawaban lain, tetapi ketika saya membutuhkan fungsionalitas ini, dan tidak punya waktu untuk mencari plugin, adalah untuk memastikan revisi berfungsi, simpan perubahan dan segera kembalikan.

Sekarang "draft" saya ada di sistem revisi saya.

Tidak hebat di sistem produksi, tapi cukup bagus di sistem dev, sampai Anda memutuskan plugin untuk digunakan.

TecBrat
sumber
0

Menemukan jawaban ini di sini yang berfungsi untuk saya. Saya memodifikasinya sedikit karena saya menggunakan peran pengguna khusus.

function published_to_pending( $post_id ) {
    global $post;
    if ( ! is_object( $post ) ) {
        return;
    }

    if ( ! current_user_can( 'publish_posts' ) && $post->post_status == 'publish' ) {
        // stop recursion call
        remove_action( 'save_post', 'published_to_pending' );

        // update the post, which calls save_post again
        wp_update_post( array( 'ID' => $post_id, 'post_status' => 'pending' ) );

        // re-hook this function back
        add_action( 'save_post', 'published_to_pending' );
    }
} 

add_action( 'save_post', 'published_to_pending' );
tehlivi
sumber