WPML
الحالة
مفتوحة
وسوم الموضوع
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;
		//      } ) );

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