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;
		//      } ) );

すべての既知の問題 →