ฉันไม่ได้กำหนดจำนวนการแก้ไขซึ่งทำให้โพสต์ของฉันมีการแก้ไขมากกว่า 20 ครั้งดังนั้นจะลบการแก้ไขเหล่านี้ได้อย่างไร
อย่างไรก็ตามฉันใช้ WPMU และมีบล็อกจำนวนมากดังนั้นจะลบการแก้ไข WordPress สำหรับบล็อกทั้งหมดของฉันได้อย่างไร
ฉันไม่ได้กำหนดจำนวนการแก้ไขซึ่งทำให้โพสต์ของฉันมีการแก้ไขมากกว่า 20 ครั้งดังนั้นจะลบการแก้ไขเหล่านี้ได้อย่างไร
อย่างไรก็ตามฉันใช้ WPMU และมีบล็อกจำนวนมากดังนั้นจะลบการแก้ไข WordPress สำหรับบล็อกทั้งหมดของฉันได้อย่างไร
คำตอบ:
นี่เป็นแบบสอบถามที่ปลอดภัยกว่ามากที่จะใช้และจะลบรายการที่เกี่ยวข้องออกจาก postmeta และ term_relationship ซึ่งแตกต่างจากการค้นหาDeathlocksในคำตอบของเขา
เปลี่ยน {id} เป็น id ของแต่ละตารางโพสต์บล็อก คุณสามารถรวมแบบสอบถามนี้เพื่อเรียกใช้ตารางการโพสต์ทั้งหมดในครั้งเดียว แต่ลองนี้ในหนึ่งตารางก่อน ฉันใช้มันหลายครั้งในการติดตั้ง WP ครั้งเดียว
DELETE a,b,c
FROM wp_{id}_posts a
LEFT JOIN wp_{id}_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_{id}_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
หลังจากที่คุณเรียกใช้ให้ปรับฐานข้อมูลใน phpmyadmin
และเพิ่มบรรทัดนี้ใกล้กับด้านบนของ wp-config.php เพื่อป้องกันการแก้ไขในอนาคต:
define('WP_POST_REVISIONS', 0);
หรือบันทึกหนึ่งการแก้ไข:
define('WP_POST_REVISIONS', 1);
นอกจากนี้ยังมีปลั๊กอินWP Optimizeที่สามารถช่วยคุณได้
จากเว็บไซต์:
WP-Optimize เป็นเครื่องมือล้างและเพิ่มประสิทธิภาพฐานข้อมูล WordPress 2.9 ++ ไม่ต้องใช้ PhpMyAdmin เพื่อปรับตารางฐานข้อมูลให้เหมาะสม
จะช่วยให้คุณลบโพสต์การแก้ไขความคิดเห็นในคิวสแปมความคิดเห็นที่ไม่ได้รับอนุมัติภายในไม่กี่คลิก
หากต้องการลบการแก้ไข Wordpress ทั้งหมดของคุณคุณสามารถใช้แบบสอบถามนี้:
DELETE FROM wp_posts WHERE post_type = "revision";
DELETE FROM wp_n_posts WHERE post_type = "revision"
; สำหรับ n ครั้งใช่มั้ย แต่มันค่อนข้างน่าเบื่อ :(
คุณสามารถเพิ่มรหัสนี้ในfunctions.php
ไฟล์ธีมของคุณ:
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
รหัสนี้จะตรวจสอบว่าWP_POST_REVISIONS
มีการตั้งค่าขีด จำกัดwp-config.php
หรือไม่หากยังไม่ได้ส่งผ่านพารามิเตอร์ไปยังฟังก์ชันที่ จำกัด การแก้ไขการโพสต์ ในตัวอย่างด้านบนโพสต์มีการแก้ไขได้ถึง 3 ครั้ง
นี่เป็นทางออกที่ดีเมื่อสร้างธีมสำหรับผู้ที่ไม่รู้วิธีเพิ่ม (หรือไม่ต้องการ) เพิ่มโค้ด
นำมาจากwp-functions.com
คุณสามารถใช้ปลั๊กอินWP Sweepเพื่อล้างการโพสต์การแก้ไข หลังจากเปิดใช้งานปลั๊กอินให้ไปที่เครื่องมือ»กวาดเพื่อล้างฐานข้อมูล WordPress ของคุณ
ขอบคุณสำหรับคำตอบ markratledge มีบางอย่างในไวยากรณ์ที่เกี่ยวกับ {id} ใช้งานไม่ได้สำหรับฉัน ฉันเปลี่ยน {id} เป็น 4009 หนึ่งในรหัสไปรษณีย์ของฉัน แต่ไม่ประสบความสำเร็จ ฉันพบวิธีแก้ปัญหาในhttps://dev-notes.eu/2017/11/manage-and-safely-delete-revisions-in-wordpress/
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision';
มันใช้งานได้ดี