Jawaban:
Ini adalah permintaan yang jauh lebih aman untuk digunakan dan akan menghapus entri terkait dari postmeta dan term_relationship, tidak seperti kueri deathlocks dalam jawabannya.
Ubah {id} menjadi id dari setiap tabel posting blog. Anda dapat menggabungkan kueri ini untuk menjalankan semua tabel posting sekaligus, tetapi cobalah ini pada satu tabel terlebih dahulu. Saya telah menggunakannya berkali-kali pada instalasi WP tunggal.
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'
Setelah Anda menjalankannya, optimalkan database di phpmyadmin.
Dan tambahkan baris ini di dekat bagian atas wp-config.php untuk mencegah revisi di masa depan:
define('WP_POST_REVISIONS', 0);
atau simpan satu revisi:
define('WP_POST_REVISIONS', 1);
Ada juga sebuah plugin, WP Optimize yang dapat membantu Anda melakukan ini
Dari situs web:
WP-Optimize adalah alat pembersihan dan pengoptimalan basis data WordPress 2.9 ++. Itu tidak memerlukan PhpMyAdmin untuk mengoptimalkan tabel database Anda.
Ini memungkinkan Anda untuk menghapus revisi posting, komentar dalam antrian spam, komentar yang tidak disetujui dalam beberapa klik.
Untuk menghapus semua revisi Wordpress Anda, Anda bisa menggunakan kueri ini:
DELETE FROM wp_posts WHERE post_type = "revision";
DELETE FROM wp_n_posts WHERE post_type = "revision"
; untuk n kali, kan? tapi ini cukup membosankan :(
Anda juga dapat menambahkan kode ini ke functions.php
file tema Anda :
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
Kode ini memeriksa apakah WP_POST_REVISIONS
batas telah ditetapkan wp-config.php
, Jika belum maka melewati parameter ke fungsi yang membatasi revisi posting. Dalam contoh di atas, pos dibatasi hingga 3 revisi.
Ini adalah solusi yang baik ketika membangun tema untuk orang yang tidak tahu bagaimana (atau tidak mau) menambahkan kode.
Diambil dari wp-functions.com
Terima kasih atas jawabannya, markratledge. Sesuatu dalam sintaks mengenai {id} tidak berfungsi untuk saya. Saya mengubah {id} menjadi 4009, salah satu id posting saya, tetapi tidak berhasil. Saya menemukan solusi di 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';
Itu bekerja dengan baik.