- الحالة
- مفتوحة
- وسوم الموضوع
- Performance
نظرة عامة على المشكلة
تعتمد التحسينات التي أُدخلت في WPML 4.8 لتقليل حجم جداول قاعدة بيانات ترجمة WPML على ضغط البيانات. يُعد هذا أكثر استهلاكاً للموارد قليلاً ولكنه يُستخدم في ظروف محدودة، ولا يُستخدم أبداً على الواجهة الأمامية، بل فقط أثناء مسارات عمل محددة في الواجهة الخلفية.
ولكن استخدامه في بعض السيناريوهات غير المتوقعة كشف عن مشكلة في الأداء نعمل على إصلاحها.
حل بديل مؤقت
في غضون ذلك، إذا كنت متأثراً، يمكنك تحويل بعض التعليمات البرمجية المحددة في إضافة WPML إلى تعليق.
على وجه التحديد، عدّل الملف plugins/sitepress-multilingual-cms/classes/ATE/Review/ReviewTranslation.php وحوّل الأسطر من 50 إلى 72 إلى تعليق أو احذفها، على سبيل المثال:
// Hooks::onFilter( 'user_has_cap', 10, 3 )
// ->then( spreadArgs( function ( $userCaps, $requiredCaps, $args ) {
// /** @var array $userCaps */
// /** @var array $requiredCaps */
// /** @var array $args */
// if ( Relation::propEq( 0, 'edit_post', $args ) ) {
// $translator = Translators::getCurrent();
// if ( $translator->ID ) {
// $postId = $args[2];
// $job = Jobs::getPostJob( $postId, Post::getType( $postId ), WPMLPost::getLang( $postId ) );
// if ( ReviewStatus::doesJobNeedReview( $job ) && self::canEditLanguage( $translator, $job ) ) {
// return Lst::concat( $userCaps, Lst::zipObj( $requiredCaps, Lst::repeat( true, count( $requiredCaps ) ) ) );
// }
// }
// return $userCaps;
// }
// return $userCaps;
// } ) );