ฉันจะควบคุมเนื้อหาของเวอร์ชันหน้าของฉันได้อย่างไร


13

เรามีเว็บไซต์ที่ใช้เวิร์ดเพรสซึ่งให้เอกสารกับ REST API ของเรา เนื่องจาก API ของเรามีการเปลี่ยนแปลงอยู่ตลอดเวลาดังนั้นเอกสารประกอบ อย่างไรก็ตามเราต้องการควบคุมเวอร์ชันของเอกสารเพื่อให้สามารถจับคู่กับการคอมมิท API ได้ มีวิธีให้หน้า WordPress รับเนื้อหาจากที่เก็บระยะไกล (ตัวอย่างเช่น GitHub) หรือไม่? หรือมีวิธีการผลักดันเนื้อหาไปยัง WordPress จากที่เก็บ?

คำตอบ:


6

แล้วคุณมีบางสิ่งบางอย่างเช่นนี้สร้างขึ้นใน: การแก้ไข

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

คุณก็สามารถคว้าพวกเขาโดยการเรียกget_posts()ด้วยของpost_typerevision

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']
     )
);

การ diff สำหรับเช่นรุ่นที่ผ่านมากับรุ่นก่อนสุดท้ายคุณสามารถใช้end( $revisions )['post_content']และ diff $revisions[ count( $revisions ) -2 ]['post_content']มันด้วย (หมายเหตุ: -2เนื่องจากดัชนีอาร์เรย์เริ่มต้นด้วยศูนย์และคุณต้องการเวอร์ชันก่อนหน้าสุดท้าย)


ฉันชอบความคิดของการแก้ไข และมีปลั๊กอินWP Document Revision ที่เป็นที่นิยมสามารถช่วยจัดการการแก้ไขได้ดีขึ้น
Anh Tran

@Rilwis ควรจะเป็นคำตอบแล้ว :)
Kaiser

5

คุณสามารถใช้Git hookและโพสต์ต่อXML-RPCไปยัง WordPress ตะขอ Git สามารถเป็นไฟล์ปฏิบัติการใดก็ได้แม้แต่ PHP

ตัวเลือกอื่น - ใน GitHub - คือการใช้เบ็ดอีเมล: ไปที่https://github.com/username/projectname/admin/hooksเลือกอีเมลและส่งอีเมลไปยังบล็อก เปิดใช้งานโพสต์ต่ออีเมลคุณลักษณะ


2
+1 ตอนนี้เราก็ต้องรวมกันของคุณลักษณะทั้งสอง (สร้างเป็นปลั๊กอินที่มั่นคงโดยสหกรณ์บริการ) :)
Kaiser
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.