- 상태
- 미해결
- 주제 태그
- 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;
// } ) );