มีวิธีใดในการร่างการแก้ไขหน้าที่เผยแพร่หรือโพสต์ คุณใช้วิธีแก้ปัญหาอะไรบ้าง


38

สมมติว่าฉันได้เผยแพร่หน้าหรือโพสต์แล้ว ตอนนี้ฉันต้องการเปลี่ยนแปลง แต่ฉันต้องการเพื่อนร่วมงานเพื่อตรวจสอบพวกเขาก่อนที่พวกเขาจะมีชีวิตอยู่ มีวิธีการทำเช่นนี้หรือไม่?

แก้ไข: ฉันรู้ว่านี่เป็นไปไม่ได้ในขณะนี้และเป็นวิธีแก้ปัญหาเชิงสร้างสรรค์ที่ฉันสนใจ

บนไซต์ที่ฉันกำลังทำงานอยู่ฉันยังมีไซต์ 'staging' ที่ป้องกันด้วยรหัสผ่านแยกต่างหากสำหรับการร่างการเปลี่ยนแปลง / เพิ่มเติมเนื้อหาที่สำคัญและเมื่อฉันอนุมัติให้คัดลอกและวางไปยังไซต์สด ฉันสงสัยว่าถ้าใครใช้วิธีการที่คล้ายกัน แต่อาจจะ 'ผลักดัน' ไปยังเว็บไซต์สดโดยอัตโนมัติ?

ฉันรู้คำถามนี้: การประสานระหว่างฐานข้อมูล dev / การแสดงละครและการผลิตแต่ที่เพิ่มเติมเกี่ยวกับ synchonization ขายส่งของฐานข้อมูลทั้งหมดมากกว่าแต่ละหน้าหรือโพสต์

ตอนนี้เสนอเงินรางวัลเพื่อลองขับแนวคิดเพิ่มเติมสำหรับการแก้ไขปัญหา


3
ถ้าใครสามารถตอบนี้เป็นคำถามที่เกี่ยวข้องเก่าสามารถอาจจะยังได้รับการตอบ
Jan Fabry

wordpress.org/plugins/revisionizeดูเหมือนจะทำสิ่งที่คุณต้องการ ปลั๊กอินที่มีประโยชน์
Rod Salm

ในฐานะของ 2019 ดูเป็นwordpress.org/plugins/revision-manager-tmc มันเป็นเครื่องเล่นที่ใหม่กว่า แต่มีฟีเจอร์ที่สมบูรณ์และบำรุงรักษาได้ดี
timofey.com

1
ฉันได้สร้างปลั๊กอินเล็ก ๆ สำหรับสิ่งนี้ ลองดู. อาจเป็นประโยชน์: github.com/malithmcr/wp-draft-published
Malith

คำตอบ:


21

มันควรจะเป็นไปได้ที่จะเพิ่มปุ่มไปเผยแพร่กล่องบันทึกเป็นสำเนาที่มีการเปลี่ยนแปลง คุณต้องเชื่อมโยงcontent_save_preและคัดลอกเนื้อหาและข้อมูลเมตาทั้งหมดลงในโพสต์ใหม่ด้วยสถานะแบบร่าง หลังจากการตรวจสอบโพสต์จะต้องถูกรวมกลับ

ฉันยังไม่ได้ทำสิ่งนี้ แต่จำเป็นจริงๆ


2
ฉันชอบความคิดที่เรียบง่ายนี้ API ต้องการCopy Post Revisionฟังก์ชันที่สามารถคัดลอกการแก้ไขแบบเต็มเท่านั้น ข้อมูลเมตาไปยังใหม่ (ยังไม่ได้สร้าง) หรือโพสต์ที่มีอยู่ เสร็จสิ้นการคัดลอกโพสต์ร่างสามารถคัดลอกไปยังโพสต์ต้นฉบับในภายหลังจากนั้น
hakre

@toscho ฉันแค่สงสัยว่ามันยังคงเป็นวิธีที่ดีที่สุดที่จะไปเกี่ยวกับปัญหาหรือไม่ อาจมีบางคนได้รับโค้ดตัวอย่าง ขอบคุณ
dashaluna

10

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

ปลั๊กอินนี้จะทำสิ่งที่คุณต้องการ มันสร้างบทบาท Revisor ที่เป็นประเภทระหว่างผู้สนับสนุนและบรรณาธิการ UI อาจได้รับการปรับปรุงและรหัสภายในจำเป็นต้องใช้คุณสมบัติที่ขาดหายไปของ WordPress แต่ก็ช่วยแก้ปัญหาของคุณได้: มันจะช่วยให้คุณสามารถบันทึกร่าง (จริง ๆ คือ 'รอการแก้ไข')

ปรับปรุง 2018 : การปรับปรุงใหม่ดูเหมือนว่าจะหยุดการพัฒนาเมื่อประมาณ 3 ปีที่แล้ว อย่างไรก็ตามดูคำตอบของ Tessa เกี่ยวกับRevisionize ( https://wordpress.org/plugins/revisionize ) Revisionizeดูเหมือนทางออกที่ดีที่สุด

อัปเดต 2019 : ขณะนี้Revisionaryเป็นเจ้าของและได้รับการพัฒนาโดย PublishPress ผู้เขียนต้นฉบับยังทำงานร่วมกับพวกเขาเพื่อสนับสนุน


ฉันเพิ่งทดสอบปลั๊กอินนี้ในการติดตั้ง 3.1.2 ที่เพิ่งอัพเกรด กระบวนการของการใช้การแก้ไขที่รอดำเนินการจริงดูเหมือนว่าจะใช้งานไม่ได้ เนื่องจากความกระจัดกระจายของเอกสารมันไม่ชัดเจนว่ามันหักใน 3.1.2 หรือถ้า UX ที่ตั้งใจไว้คือฝ่ายที่ได้รับการอนุมัติจะต้องคัดลอกวางการแก้ไขลงในโพสต์ที่เผยแพร่ด้วยตนเอง ไม่ว่าในกรณีใดฉันไม่ได้ผลักดันเรื่องนี้กับผู้ใช้ของฉัน
marfarma

UI นั้นค่อนข้างแปลกประหลาด แต่นั่นเป็นเพราะไม่มีวิธีการรวมเข้ากับ WP อย่างถูกต้องเท่าที่ฉันสามารถบอกได้ WP เพียงแค่ไม่มี hooks สำหรับมัน เมื่อฉันทดสอบมันทำงานได้ แต่ ... มีปุ่มหรือลิงค์อยู่ที่ใดที่ 'เรียกคืน' การแก้ไข คุณไม่ควรคัดลอกอะไรเลย ตั้งแต่ฉันเปลี่ยนมาใช้ผู้ใช้เพียงแค่ส่งอีเมลถึงบรรณาธิการพร้อมคำขอแก้ไขโดยเฉพาะเพราะฉันไม่ชอบ UI
WraithKenny

เห็นด้วยปลั๊กอินนี้ถ้าฉันมักจะเสียสำหรับฉันและน่ากลัวที่จะใช้
James

ฉันไม่ได้ใช้มันใน 3 1/2 ปี ฉันไม่คิดว่ามันจะยังใช้งานได้ ต้องมีวิธีใหม่ / ดีกว่าในการทำเช่นนี้เนื่องจากสิ่งต่าง ๆ ใน WP core ได้รับการปรับปรุงอย่างมากตั้งแต่โพสต์นี้
WraithKenny

1
ดูเหมือนว่าจะทำงานเป็นวันนี้
จอห์น

6

สวัสดี@ e100 ;

หากคุณมีความสนใจในโซลูชันปลั๊กอินที่กำหนดเองฉันสามารถจินตนาการได้หลายวิธี

  1. กระบวนการคล้ายกับสิ่งที่@toschoอธิบายว่า"Save as Changed Copy"แต่มีความแตกต่างเล็กน้อย ปลั๊กอินสามารถล็อคการแก้ไขโพสต์ที่เผยแพร่แต่อนุญาตให้คุณสร้างโพสต์ที่ได้รับพร้อมสถานะใหม่เช่น"อัปเดตแบบร่าง"ซึ่งสามารถผูกกลับไปที่โพสต์ดั้งเดิมผ่านฟิลด์ที่กำหนดเอง โพสต์ที่ได้รับเหล่านี้สามารถแก้ไขตรวจสอบและอื่น ๆ ได้ แต่แทนที่จะมีตัวเลือกในการเผยแพร่คุณจะมีตัวเลือกในการแทนที่โพสต์ต้นฉบับด้วยการอัปเดตของคุณ

  2. กระบวนการอื่นสามารถใช้ระบบการแก้ไขในตัวแม้ว่าฉันจะต้องทำวิจัยเพื่อหาวิธีที่จะให้บริการกับเบราว์เซอร์รุ่นที่ไม่ล่าสุด; อาจบันทึกเนื้อหาเป็นฟิลด์ที่กำหนดเองและอนุญาตให้คุณทำงานต่อไปได้

  3. กระบวนการที่สามอาจเป็นการตั้งค่าไซต์ WordPress ที่สองเป็นแซนด์บ็อกซ์การแก้ไขใช้บริการเว็บเพื่อดึงโพสต์อนุญาตให้คุณแก้ไขได้จากระยะไกลจากนั้นเมื่อคุณพร้อมที่จะเผยแพร่คุณสามารถผลักดันกลับไปที่ไซต์หลัก

  4. คล้ายกับ # 3 คุณสามารถตั้งค่าแซนด์บ็อกซ์การแก้ไขโดยใช้ WordPress Multisiteติดตั้งและสร้างบล็อกที่ไม่เปิดเผยต่อสาธารณะเพื่อให้ผู้เขียนแต่ละคนมีแซนด์บ็อกซ์การแก้ไขของตัวเอง

อีกครั้งตัวเลือกเหล่านั้นทั้งหมดจะต้องมีการพัฒนาปลั๊กอินที่กำหนดเอง

หากคุณกำลังมองหาปลั๊กอินที่มีอยู่คุณต้องการดูแม้ว่าฉันจะยังไม่มีประสบการณ์ที่เฉพาะเจาะจงกับพวกเขาดังนั้นฉันไม่รู้ว่าสิ่งเหล่านี้จะทำสิ่งที่ต้องการหรือไม่:

  • Assignment Deskเป็นเครื่องมือบรรณาธิการสำหรับองค์กรข่าวที่ใช้ WordPress เป็นระบบจัดการเนื้อหา เป้าหมายของปลั๊กอินคือการทำให้ชุมชนมีส่วนร่วมกับกระบวนการผลิตข่าวได้ง่ายขึ้นและมีประสิทธิภาพมากขึ้น

  • Edit Flowนำเสนอชุดฟังก์ชันการทำงานเพื่อกำหนดเวิร์กโฟลว์บรรณาธิการของคุณใหม่ภายใน WordPress

  • หมายเหตุการโพสต์ของปีเตอร์ - เพิ่มบันทึกในแถบด้านข้างของหน้าจอ "แก้ไขโพสต์" และ "แก้ไขหน้า" ใน WordPress 2.8 ขึ้นไป เมื่อใช้กับอีเมลร่วมมือกันของปีเตอร์ 1.2 ขึ้นไปบันทึกจะถูกส่งไปพร้อมกับอีเมลในเวิร์กโฟลว์การทำงานร่วมกัน นอกจากนี้ยังมีระบบบันทึกทั่วไปและส่วนตัวบนแดชบอร์ด


ข้อเสนอแนะข้อที่ 1 ของคุณฟังดูเป็นคำตอบที่ยอดเยี่ยมมาก! โอ้และสุขสันต์วันขอบคุณพระเจ้าไมค์เพราะเห็นว่าคุณเป็นคนที่ให้คำแนะนำ / การแก้ปัญหาที่ยอดเยี่ยมแก่พวกเราทุกคน!
NetConstructor.com

1
คำแนะนำทั้งหมดเหล่านี้มีไว้สำหรับปลั๊กอินที่จัดการโพสต์ที่ไม่ได้เผยแพร่ สิ่งที่ WordPress ไม่มี (ทำ CMS อื่น ๆ ทั้งหมด) เป็นวิธีการบันทึกแบบร่างระหว่างดำเนินการแก้ไขไปยังโพสต์ที่เผยแพร่แล้ว
James

4

นี่เป็นคำถามที่เก่ามากและในขณะที่ดูปลั๊กอินบางตัวที่กล่าวถึงที่นี่ฉันสังเกตเห็นว่ามีหลายคนที่ไม่ได้รับการดูแลหรือไม่ได้เป็นอย่างที่ฉันต้องการ

ในท้ายที่สุดผมพบว่าหนึ่งที่ผมชอบเรียกว่าRevisionize ในขณะที่ชื่อเสียงและการใช้งานยังไม่ขึ้นเนื่องจากมันค่อนข้างใหม่ฉันชอบมัน

ข้อดี:

  1. UI ที่ดีภายใน WordPress มีปุ่มให้ค้นหาได้ง่ายและมีคำเตือนและบันทึกย่อเมื่อคุณใช้ปลั๊กอินสิ่งที่ปุ่มกดจะทำ
  2. มีการจัดอันดับ5 ดาว 4.9 ดาว
  3. ยังคงได้รับการบำรุงรักษาโดยผู้พัฒนา
  4. เข้ากันได้กับปลั๊กอินฟิลด์ที่กำหนดเองขั้นสูง
  5. เข้ากันได้กับปลั๊กอินแสดงตัวอย่างโพสต์สาธารณะ

จุดด้อย:

  1. เฉพาะการติดตั้งที่ใช้งานอยู่300+ 4,000+
  2. เพียง 4 รีวิว 21 รีวิว
  3. ไม่มีการสนับสนุน Gutenberg

Updated รายการใน 15 สิงหาคม 2019 แม้ว่าจะยังคงเป็นปลั๊กอินที่ยอดเยี่ยมหากคุณใช้โปรแกรมแก้ไข Gutenberg มันอาจไม่เหมาะกับคุณ


1
สวัสดีฉันเป็นผู้เขียนปลั๊กอินของ Revisionize มันมาไกล - เกี่ยวกับการเปิดตัวรุ่น 2.1 ซึ่งเพิ่มความเข้ากันได้ multisite / เครือข่ายที่ดีขึ้น เวอร์ชันล่าสุดมีแผงการตั้งค่าพื้นฐานและขณะนี้มีแบบฟอร์มการชำระเงินเพิ่มเติมที่มีให้revisionize.proซึ่งเพิ่มการสนับสนุนสำหรับผู้มีส่วนร่วมในการแก้ไขเนื้อหาที่มีอยู่และส่งการเปลี่ยนแปลงเพื่อตรวจสอบ ขณะนี้มีการติดตั้งมากกว่า 1,000 รายการและบทวิจารณ์ระดับ 5 ดาว 11 รายการ
Jamie Chong

ใช่คุณมีความคิดเห็นมากถึง 18 ดาว! ฉันเชื่อว่าสิ่งนี้ (และแก้ไข) ควรเป็นคำตอบที่ได้รับการยอมรับในตอนนี้ต่อวัน
WraithKenny

มีการปรับปรุงที่แข็งแกร่งด้วย Revisionize ขอบคุณ @JamieChong
timofey.com

3

ไม่ได้ในเวลานี้โชคไม่ดี หากหน้า / โพสต์ได้รับการเผยแพร่ไปแล้วสิ่งที่คุณจะสร้างใหม่หน้า / โพสต์ที่จะถือการแก้ไขของคุณและเอกชนเผยแพร่เพื่อให้เพื่อนร่วมงานของคุณสามารถตรวจสอบการเปลี่ยนแปลงของคุณ จากนั้นแทนที่เนื้อหาในหน้าสด / โพสต์ของคุณด้วยเวอร์ชันที่แก้ไข

เพียงแค่ FYI:การเปลี่ยนแปลงสถานะร่างของเนื้อหาที่เผยแพร่แล้วเป็นเวิร์กโฟลว์ที่ผู้ใช้ WordPress ไม่ได้ใช้ ฉันได้ยินมาว่าอย่างน้อย 3 วิธีที่ผู้คนต้องการให้ทำในเดือนที่ผ่านมาเช่นกัน ... ดังนั้นโดยไม่ต้องมีขั้นตอนที่เป็นมาตรฐาน โอกาสนี้เป็นคุณสมบัติของ WordPress ที่บางเฉียบ


2
อืมฉันรู้สึกแปลก ๆ ที่เวิร์กโฟลว์ชนิดนี้ไม่ได้เป็นที่ต้องการมากขึ้นโดยเฉพาะอย่างยิ่งเมื่อ WP ถูกผลักให้เป็น CMS แบบเต็มรูปแบบที่มีประเภทเนื้อหาที่กำหนดเองมากขึ้นเรื่อย ๆ
e100

1
ปัญหาคือว่า "เวิร์กโฟลว์ชนิดนี้" ถูกกำหนดแตกต่างกันโดยผู้คนมากมาย หากมีมาตรฐานมันจะง่ายที่จะรวม หากไม่มีมาตรฐานการกำหนด WP เองสำหรับหนึ่งเวิร์กโฟลว์จะทำให้คนอื่น ๆ จะช่วยให้นักพัฒนาสร้างโซลูชันที่กำหนดเองสำหรับสถานการณ์เฉพาะได้ง่ายขึ้น
EAMann

ฉันสนใจที่จะได้ยินวิธีที่ต่างกันสามวิธีที่ผู้คนต้องการจัดการเวิร์กโฟลว์
MikeSchinkel

สองสิ่งที่ฉันจำได้เป็นพิเศษ: 1) อิงตามบทบาท : ผู้ควบคุมสามารถแก้ไขเนื้อหาของโพสต์และคลิก "ส่งการแก้ไข" ซึ่งต้องได้รับการตรวจทานก่อนการเปลี่ยนแปลงจะมีผล 2) การแก้ไขแบบแยกส่วน : ผู้ใช้สามารถเลือกรีวิวของโพสต์ใดก็ได้และคัดลอกการแก้ไขไปยังโพสต์ใหม่โดยไม่ต้องเลื่อนโพสต์ที่มีอยู่กลับมา
EAMann



1

ขณะนี้อาจไม่สามารถแก้ปัญหาเฉพาะของคุณได้ฉันขอแนะนำให้คุณดูที่ปลั๊กอิน "แก้ไขการไหล" ใน wordpress.org มันเป็นปลั๊กอินที่ลื่นไหลซึ่งอาจเป็นประโยชน์กับคุณ


Nope Editflow อนุญาตเฉพาะการตั้งค่าหลายสถานะของโพสต์ที่ไม่ได้เผยแพร่ สิ่งที่จำเป็นคือวิธีการบันทึกแบบร่างของการอัพเดทที่กำลังดำเนินการไปยังโพสต์ที่เผยแพร่แล้ว มันเป็นหนึ่งใน ommissions ที่น่าทึ่งที่สุดใน WordPress
James

1

ตอนนี้จะมีวิธีการแก้ปัญหาอย่างมากในการนี้ด้วยปลั๊กอินร่างของการแก้ไขโพสต์

ผู้ใช้สามารถได้รับอนุญาตให้สร้างการแก้ไขแบบร่างของโพสต์ที่เผยแพร่ (หรือประเภทโพสต์ที่กำหนดเอง) ซึ่งสร้างเป็นสำเนาลูกของโพสต์

แบบร่างสามารถเปรียบเทียบกับพาเรนต์ที่เผยแพร่ผ่านคุณลักษณะเปรียบเทียบการแก้ไข

ในการเผยแพร่การแก้ไขฉบับร่างการเปลี่ยนแปลงใด ๆ จะถูกรวมกลับไปยังผู้ปกครองตามที่ร่างถูกกำจัด หลายร่างสามารถรักษาได้

อยากจะแนะนำอันนี้ให้กับทุกคน - มันกลายเป็นปลั๊กอินมาตรฐานสำหรับเว็บไซต์ WordPress อย่างไรก็ตามฉันสงสัยว่าเราอาจเห็นคุณลักษณะประเภทนี้กำลังได้รับการพัฒนาในแกน WordPress ในอนาคตอันใกล้ ..


5 ปีตั้งแต่อัปเดต

1

สวัสดี @ e100 :)

ฉันคิดว่าโซลูชันอัจฉริยะจะช่วยให้คุณใช้ปลั๊กอินฟรีที่มีอยู่ มันทำทุกสิ่งที่คุณเขียน เพียงแค่ดาวน์โหลดจาก WordPress.org: https://wordpress.org/plugins/revision-manager-tmc/
ปลั๊กอินนี้บ่อยมากและปรับปรุงเป็นประจำ

Revision Manager TMC ใช้งานได้ดีกับปลั๊กอินฟรีตัวที่สองเพื่อแก้ไขความสามารถของบทบาทผู้ใช้ - User Role Editor https://wordpress.org/plugins/user-role-editor/


1
ในฐานะของ 2019 นี้เป็นโซลูชั่นที่สมบูรณ์แบบที่สุด มันคล้ายกับ Revisionize แต่ใช้งานง่ายและสมบูรณ์ยิ่งขึ้น 1) การแก้ไขเชื่อมโยงกับโพสต์ดั้งเดิม 2) ช่วยให้คุณกำหนด "บทบาทที่มีส่วนร่วม" ของผู้แก้ไขขณะที่ จำกัด พวกเขาจากโพสต์ต้นฉบับ 3) มันทำให้การแก้ไขรู้สึกเหมือนการแก้ไขเช่นซ่อนตัวเลือกการเผยแพร่ ฯลฯ
timofey.com

และรองรับ ACF

0

ฉันอาจจะจบลงด้วยการใช้หนึ่งในปลั๊กอินที่กล่าวถึงในคำตอบอื่น ๆ แต่เมื่อฉันต้องการฟังก์ชั่นนี้และไม่มีเวลาที่จะค้นหาปลั๊กอินคือเพื่อให้แน่ใจว่าการแก้ไขทำงานได้บันทึกการเปลี่ยนแปลงและเปลี่ยนกลับทันที

ตอนนี้ "ร่าง" ของฉันอยู่ในระบบการแก้ไขของฉัน

ไม่ค่อยดีในระบบการผลิต แต่ดีพอในระบบ dev จนกว่าคุณจะตัดสินใจใช้ปลั๊กอิน


0

พบคำตอบที่นี่ซึ่งใช้งานได้สำหรับฉัน ฉันปรับเปลี่ยนเล็กน้อยเมื่อฉันใช้บทบาทผู้ใช้ที่กำหนดเอง

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' );
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.