محمد شرف

حذف بيانات المقالات اليتيمة (postmeta) في ووردبريس

نظّف سجلات الحقول المخصصة التي بقيت بعد حذف مقالاتها، باستعلام SQL واحد وبعد نسخة احتياطية.

· 1 دقائق قراءة

من الأرشيف: نُشر أصلًا على mohamedsharaf.net في نوفمبر 2014. أُعيدت كتابته ومراجعته في 2026، وبعض التفاصيل قد تكون قديمة.

عندما تُحذف المقالات من خارج ووردبريس (أو بإضافات سيئة الكتابة)، قد تبقى حقولها المخصصة في جدول wp_postmeta مشيرةً إلى مقالات لم تعد موجودة. هذا الاستعلام يحذف هذه السجلات اليتيمة:

DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL;

خذ نسخة احتياطية من قاعدة البيانات أولًا. وإذا كانت جداولك تستخدم بادئة غير wp_ فغيّر اسمي الجدولين. وتريد أن ترى ما سيُحذف قبل أي حذف؟ شغّل الاستعلام نفسه مع SELECT pm.* بدل DELETE pm.

شاركWhatsAppLinkedInXTelegramFacebook