- 상태
- 미해결
- 관련 플러그인/테마
- RSVP Pro
- 주제 태그
- Compatibility
문제 개요
RSVP Pro 플러그인을 사용하는 경우, WPML을 사용할 때 프런트엔드에서 일부 문자열이 번역된 상태로 표시되지 않는 문제가 발생할 수 있습니다. 이 문제는 일반적으로 문자열의 고유 키가 시스템에서 설정한 문자 수 제한을 초과하여 키가 일치하지 않고 문자열이 번역되지 않기 때문에 발생합니다.
임시 해결 방법
계속 진행하기 전에 사이트의 전체 사이트 백업을 만들어 두세요.
- app/public/wp-content/plugins/rsvp-pro-plugin/includes/rsvp-utils.inc.php 파일을 여세요.
- 1069번째 줄을 찾으세요.
- 다음을:
function rsvp_pro_get_dynamic_translated_string( $key_name, $string, $event_id ) { $text = $string; if ( function_exists( 'pll__' ) ) { $text = pll__( $string ); } if ( has_filter( 'wpml_translate_string' ) ) { $event_name = rsvp_pro_get_event_name( $event_id ); $package = array( 'kind' => "RSVPPro - {$event_id}", 'name' => "rsvp-pro-plugin-{$event_id}", 'title' => "RSVP Pro Plugin - {$event_name}", ); $key_name = strtolower( $key_name ); $key_name = str_replace( ' ', '-', $key_name ); $text = apply_filters( 'wpml_translate_string', $string, $key_name, $package ); } return $text; } - 다음으로 교체하세요:
function rsvp_pro_get_dynamic_translated_string( $key_name, $string, $event_id ) { $text = $string; if ( function_exists( 'pll__' ) ) { $text = pll__( $string ); } if ( has_filter( 'wpml_translate_string' ) ) { $event_name = rsvp_pro_get_event_name( $event_id ); $package = array( 'kind' => "RSVPPro - {$event_id}", 'name' => "rsvp-pro-plugin-{$event_id}", 'title' => "RSVP Pro Plugin - {$event_name}", ); $key_name = strtolower( $key_name ); $key_name = str_replace( ' ', '-', $key_name ); // WPML Workaround for compsupp-7503 $key_name = substr($key_name, 0, 160); $text = apply_filters( 'wpml_translate_string', $string, $key_name, $package ); } return $text; }