Yanıtlar:
Bu, kullanımı çok daha güvenli bir sorgudur ve cevabındaki deathlocks sorgusundan farklı olarak postmeta ve term_relationship'ten ilgili girdileri kaldıracaktır .
{İd} öğesini her blog yayınları tablosunun kimliğiyle değiştirin. Tüm posta tablolarını bir kerede çalıştırmak için bu sorguyu birleştirebilirsiniz, ancak önce bunu bir tabloda deneyin. Tek WP kurulumlarında birçok kez kullandım.
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'
Çalıştırdıktan sonra phpmyadmin içinde veritabanını optimize edin.
Ve gelecekteki düzeltmeleri önlemek için bu satırı wp-config.php dosyasının üstüne yakın bir yere ekleyin:
define('WP_POST_REVISIONS', 0);
veya bir düzeltmeyi kaydedin:
define('WP_POST_REVISIONS', 1);
Ayrıca, bunu yapmanıza yardımcı olabilecek bir eklenti, WP Optimize var
Web sitesinden:
WP-Optimize bir WordPress 2.9 ++ veritabanı temizleme ve optimizasyon aracıdır. Veritabanı tablolarınızı optimize etmek için PhpMyAdmin gerektirmez.
Posta düzeltmelerini, spam kuyruğundaki yorumları, onaylanmamış yorumları birkaç tıklamayla kaldırmanıza olanak tanır.
Tüm Wordpress düzeltmelerinizi silmek için şu sorguyu kullanabilirsiniz:
DELETE FROM wp_posts WHERE post_type = "revision";
DELETE FROM wp_n_posts WHERE post_type = "revision"
; n kere, değil mi? ama bu oldukça sıkıcı :(
Bu kodu temanızın functions.php
dosyasına da ekleyebilirsiniz :
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 3);
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
Bu kod, WP_POST_REVISIONS
sınırın girilip girilmediğini kontrol eder wp-config.php
, Eğer girmediyse, post revizyonları sınırlayan fonksiyona bir parametre iletir. Yukarıdaki örnekte, gönderiler 3 düzeltme ile sınırlıdır.
Bu, kod eklemeyi bilmeyen (veya istemeyen) insanlar için temalar oluştururken iyi bir çözümdür.
Alındığı wp-functions.com
Direk düzeltmelerini temizlemek için WP Süpürme eklentisini kullanabilirsiniz. Eklentiyi etkinleştirdikten sonra WordPress veritabanınızı temizlemek için Araçlar »Süpür'e gidin.
Cevabınız için teşekkürler markratledge. {İd} ile ilgili sözdizimindeki bir şey benim için işe yaramadı. Yayın kimliklerimden biri olan {id} değerini 4009 olarak değiştirdim ancak başarılı olamadım. Https://dev-notes.eu/2017/11/manage-and-safely-delete-revisions-in-wordpress/ adresinde bir çözüm buldum.
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';
Güzel çalıştı.