- 상태
- 미해결
- 보고된 제품
- Gravity Forms Multilingual 1.7.2
- 관련 플러그인/테마
- Gravity Forms
- 주제 태그
- Compatibility
문제 개요
Gravity Forms Polls Add-On 플러그인을 사용하는 경우, 기본 언어가 아닌 다른 언어로 볼 때 설문조사 결과에 번역된 콘텐츠가 표시되지 않는 문제가 발생할 수 있습니다. 이 문제는 주로 숏코드 매개변수가 mode="results"(으)로 설정된 경우에 발생합니다. 모드를 mode=”poll”로 설정하면 번역이 정상적으로 작동합니다.
임시 해결 방법
진행하기 전에 반드시 전체 사이트 백업을 수행하세요.
- …/wp-content/plugins/gravityformspolls/class-gf-polls.php 파일을 여세요.
- 2140번째 줄을 찾으세요.
- 다음 부분 바로 앞에:
$gpoll_output['summary'] .= $field['field_label'] . '</div></div>';
- 다음 코드를 추가하세요.
// WPML Workaround for compsupp-7316 - Part I if ( class_exists('Sitepress') ) { $wpml_question = $field['field_label']; $textdomain = 'WordPress'; $string_name = 'WPML Workaround : '.substr($wpml_question, 0, 20); $wpml_default_lang = apply_filters('wpml_default_language', NULL ); $wpml_current_lang = apply_filters( 'wpml_current_language', NULL ); if ($wpml_default_lang == $wpml_current_lang ) { do_action( 'wpml_register_single_string', $textdomain, $string_name, $wpml_question ); } // Apply the translation to the string $wpml_question = apply_filters('wpml_translate_single_string', $wpml_question , $textdomain, $string_name); $field['field_label'] = $wpml_question; // Replace the title } - 그런 다음 2184번째 줄을 찾으세요.
- 다음 부분을:
$gpoll_output['summary'] .= sprintf( "<div class='gpoll_choice_wrapper'><div class='gfield_description gpoll_choice_label%s'>%s</div>", $selected_class, rgar( $input, 'label' ) );
- 다음 코드로 교체하세요.
// WPML Workaround for compsupp-7316 - Part II if ( class_exists('Sitepress') ) { $string = rgar( $input, 'label' ); $textdomain = 'WordPress'; $string_name = 'WPML Workaround : '.substr($string, 0, 20); $wpml_default_lang = apply_filters('wpml_default_language', NULL ); $wpml_current_lang = apply_filters( 'wpml_current_language', NULL ); if ($wpml_default_lang == $wpml_current_lang ) { do_action( 'wpml_register_single_string', $textdomain, $string_name, $string ); } // Apply the translation to the string $string = apply_filters('wpml_translate_single_string', $string , $textdomain, $string_name); $wpml_poll_label = $string; // Replace the title } $gpoll_output['summary'] .= sprintf( "<div class='gpoll_choice_wrapper'><div class='gfield_description gpoll_choice_label%s'>%s</div>", $selected_class, $wpml_poll_label );