it-swarm.asia

كيف يمكنني حذف مفاتيح Orphan في جداول قاعدة بيانات WordPress؟

على وجه الخصوص في الجدول wp_options. بعد ما يقرب من عامين من إنتاج المدونة ، يبدو أنه زاد كثيرًا ، وأنا لا أعرف عدد حماقة الموقع.

هل تعرف مكونًا إضافيًا يعمل مع WordPress 3.0 أو استعلام آمن لتشغيله للبحث عن مفاتيح/صفوف Orphan؟

10
Drake

لا يوجد أي استعلام سيكون 100٪ مؤكدًا لحذف كل شيء غير مستخدم وعدم حذف هذه الأشياء لأن أي سمة أو مكون إضافي يمكن أن يضيف خيارات إلى جدول wp_options. ومع ذلك ، مع القليل من الجهد ، يمكنك الحصول على فكرة جيدة حول ما هو غير قيد الاستخدام ، ثم تحديد أي من هذه الأشياء يتم حذفها يدويًا وأي شيء لا يجب حذفه.

يمكنك وضع الكود التالي مؤقتًا في ملف functions.php الخاص بموضوعك ، ثم زيارة كل (نوع) صفحة على موقعك المواجه للجمهور والأهم من ذلك كل صفحات المشرف في وحدة تحكم المشرف. بمجرد الانتهاء من ذلك ، يمكنك فتح جدول wp_options وإلقاء نظرة على الحقل use_count (تمت إضافته بواسطة الكود أدناه) لمعرفة الخيارات التي تحتوي على use_count تساوي الصفر (عدد الاستخدام لا معنى له في الغالب عن أي شيء أكبر من 1 قراءة أو تحديث مرة واحدة على الأقل منذ إضافة هذا الرمز.)

global $wpdb;
header('Content-Type:text/plain');
$results = $wpdb->get_results("SHOW COLUMNS FROM wp_options WHERE Field='use_count'");
if (count($results)==0) {
    $wpdb->query("ALTER TABLE {$wpdb->options} ADD COLUMN use_count int UNSIGNED NOT NULL DEFAULT '0' AFTER autoload");
}

add_action('all','monitor_get_option_usage');
function monitor_get_option_usage($filter){
    if (preg_match('#^option_(.*)$#',$filter)) {
        increment_option_use_count(substr($filter,7));
    }
}
add_action('updated_option','monitor_update_option_usage');
function monitor_update_option_usage($option){
    increment_option_use_count($option);
}
function increment_option_use_count($option) {
    global $wpdb;
    $wpdb->query("UPDATE {$wpdb->options} SET use_count = use_count + 1 WHERE option_name = '$option'");
}

من خلال هذا ، من المحتمل أن تكون قادرًا على تحديد الخيارات المرتبطة بالإضافات الطويلة ، والسمات السابقة وحتى الخيارات الخاصة بك التي أضفتها في وقت مبكر ولكن لم تعد تستخدمها. قم بتصديرها جميعها إلى نسخة احتياطية (فقط في حالة) ثم احذف الأشياء التي تشعر بالراحة عند حذفها. بمجرد الانتهاء من ذلك ، يمكنك إزالة حقل use_count (إذا كنت ترغب في ذلك ، لا يضر لأنه سيكون هناك) وأيضًا إزالة الرمز أعلاه من ملف functions.php أيضًا.

رغم أن هذا لا يزال غير مثالي ، إلا أنه أفضل بكثير من لا شيء. آمل أن يساعد؟

7
MikeSchinkel

البرنامج المساعد خيارات التنظيف عملت بشكل جيد بالنسبة لي. يبدو أن وصف المؤلف للمكون الإضافي يلائم ما تحتاج إليه: "يجد خيارات يتيمة ويسمح بإزالتها من جدول wp_options."

لم أحاول WP-Optimize حتى الآن شخصيًا ، لكن هذا يبدو واعداً أيضًا. وتقول أنها تدعم WP 2.7 (في حين أن "الخيارات النظيفة" لا تذكر سوى دعم محدد لـ WP 2.3) ، لطيف!

4
Mike Lee

لن يؤدي هذا بالضرورة إلى إزالة المشكلات المتعلقة بـ wp_options لكنني استخدمت WP-Optimize لإصلاح الكثير من مشكلات تغيير حجم قاعدة البيانات على موقعي 3.0. يقوم بمسح مراجعات المنشورات غير الضرورية وتعليقات البريد العشوائي ويمكنه حل الكثير من المشكلات تلقائيًا. في مدونتي الرئيسية ، تم تخفيض قاعدة البيانات من 30 ميغابايت إلى ما يقل قليلاً عن 6 ميغابايت ويتم تشغيلها بسلاسة أكبر بكثير الآن.

2
EAMann

أقوم بتشغيل كلا من الخيارات النظيفة و WP_Optimize على موقعي ، ويقوم التحرير والسرد بعمل رائع في الحفاظ على قاعدة البيانات في حالة جيدة.

1
Keith S.