WordPresste Topluca Yazı Silmek

Merhabalar,bu konuya bir webmaster forumunda arkadaşın ihtiyacı olduğunu gördüm ve bu sıkıntıyı yaşayanlara yada yaşayacaklara yardımcı bir konu olacağını düşünerek gecenin 4’ünde açıyorum.Konumuz wordpresste yazıları silmek .Wordpresste yazıları silmek kolay gözüksede yazı sayısı arttıkça bu iş kolaylıktan çıkıp bir hayli can sıkıcı hal alıyor.Çünkü konuların sayısı arttıkça bir defada silebileceğimiz yazı sayısı sınırlı.Bu kodu arayan arkadaşımızın da tablosundaki binlerce yazı kaydı bulunması yüzünden wordpress paneli üzerinden konuları silmek yada eklenti ile silmek mümkün değildi.Eklenti ile silmek belli bir sayıya kadar çözüm olsada,rakam yükseldikçe eklenti işe yaramayacak ve sıkıntı devam edecektir.Olaya direk phpmyadmin üzerinden çalıştırılacak olan kod ile müdahale etmenin çözüm olacağını düşünüyorum.Bunun için ufak bir kod hazırladım.Bu kod wordpress veritabanından seçtiğimiz kategorideki yazıları silmemizi sağlıyor.

DELETE FROM
wp_posts,wp_term_relationships
USING
wp_posts
LEFT JOIN
wp_term_relationships
ON
wp_posts.id = wp_term_relationships.object_id

WHERE
wp_term_relationships.term_taxonomy_id = 948

Bu kodumuzun ne işlem yaptığını ve kısaca mantığınıda sizlere anlatayım.Wordpress veritabanında wp_posts tablosundaki ID alan adı konunun id numarasını tutuyor.Yani birincil anahtarımız. wp_term_relationships tablosundaki object_id isimli alanımızda yazının id numarasını tutuyor,yani wp_posts tablosundaki id ile birbirine bağlı. term_taxonomy_id ise kategori id’sini tutan alanımız. Yazıları silebilmek için öncelikle hangi kategoriden sileceğimizi ve bu kategorinin id sini bulmamız gerekiyor.Wordpress kategoriler kısmından hangi kategorinin idsini öğreneceksek üstüne tıklayıp adress çubuğundaki tag_ID=947 kısmındaki numarayı kaydediyoruz.Benim kategori id’m 947 çıktı gördüğünüz gibi..Daha sonra yukarıda verdiğim kodtaki 947 yerine yazının silineceği kategori id’sini yazıyoruz ve silme işlemini gerçekleştiriyoruz.Bu işlem öncesinde sizlere belirtmek istediğim önemli birkaç nokta var.

UYARI 1: WordPress konuların otomatik taslağını tutmaktadır.Eğer otomatik taslaklama özelliğiniz açık ise yukarıdaki kodu kullanmadan önce şu kodu çalıştırın.

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'

yada WP-OPTİMİZE eklentisini kurup,bu işi wordpress paneli üzerinden yapın.Wp-Optimize eklentisi ile ilgili makaleme şu adresten ulaşabilirsiniz: https://gokselozardali.com/wordpress-veritabani-optimizasyonu

UYARI 2: Verdiğim kodları test edip sorun yaşamadan başarıyla çalıştırsam bile sorun çıkma riski bulunduğundan kodları uygulamadan önce mutlaka veritabanı yedeğinizi alınız,işlemler sonrasında bir sorun yaşarsanız başınız ağrısın,emekleriniz boşa gitsin istemem.

UYARI 3: İşlemleri hosting üzerinde gerçekleştirip sitenizi yormak yerine, Veritabanınızı localde kurup bu işlemleri yapmanız daha sağlıklı olacaktır.

Konu hakkındaki önerilerim ve uyarılarım bu kadar umarım yararlı bir makale olmuştur,saygılarımla…

Hoşunuza gidebilir

2 yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir