WPML
الحالة
مفتوحة
أُبلغ عنها لـ
WPML Multilingual CMS 4.7.6

نظرة عامة على المشكلة

عند استخدام WPML على موقع ببادئة قاعدة بيانات مخصصة (ليست البادئة الافتراضية «wp_») و30 لغة أو أكثر، قد تواجه خطأ في قاعدة البيانات عند زيارة لوحة إدارة الترجمة.

يحدث هذا بسبب بادئة قاعدة بيانات مبرمجة بشكل ثابت في كود إضافة WPML.

حل بديل مؤقت

يُرجى التأكد من وجود نسخة احتياطية كاملة لموقعك قبل المتابعة.

افتح:

/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/Component/Item/Application/Query/SearchQuery/QueryBuilder/ManyLanguagesStrategy/SearchQueryBuilder.php

ابحث عن:

LEFT JOIN wp_icl_translations target_t
   ON target_t.trid = source_t.trid
       AND target_t.language_code IN ({$gluedEscapedLanguageCodes})
LEFT JOIN wp_icl_translation_status target_ts
   ON target_ts.translation_id = target_t.translation_id

استبدل بـ:

LEFT JOIN {$this->queryPrepare->prefix()}icl_translations target_t
   ON target_t.trid = source_t.trid
       AND target_t.language_code IN ({$gluedEscapedLanguageCodes})
LEFT JOIN {$this->queryPrepare->prefix()}icl_translation_status target_ts
   ON target_ts.translation_id = target_t.translation_id

يضمن هذا التغيير أن يستخدم الاستعلام البادئة المخصصة الصحيحة بدلاً من wp_ المبرمجة بشكل ثابت.

مكان آخر في:

/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wpml/src/Infrastructure/WordPress/Component/Item/Application/Query/SearchQuery/QueryBuilder/ManyLanguagesStrategy/SearchPopulatedTypesQueryBuilder.php

ابحث عن:
      LEFT JOIN wp_icl_translations target_t
         ON target_t.trid = source_t.trid
             AND target_t.language_code IN ({$gluedEscapedLanguageCodes})
       LEFT JOIN wp_icl_translation_status target_ts
         ON target_ts.translation_id = target_t.translation_id

استبدل بـ:

      LEFT JOIN {$this->queryPrepare->prefix()}icl_translations target_t
         ON target_t.trid = source_t.trid
             AND target_t.language_code IN ({$gluedEscapedLanguageCodes})
       LEFT JOIN {$this->queryPrepare->prefix()}icl_translation_status target_ts
         ON target_ts.translation_id = target_t.translation_id

جميع المشاكل المعروفة →