do_action( 'wpml_register_single_string', string $context, string $name, string $value )
- 유형
- action
- 카테고리
- 콘텐츠 삽입
- WPML 버전
- 3.2
설명
(패키지의 일부인 문자열이 아닌) 번역할 개별 텍스트 문자열을 등록합니다. 이 작업은 일반적으로 “동적 텍스트 문자열”이라고도 하는 사용자 입력 텍스트에 사용됩니다.
문자열 번역을 가져오려면 다음을 참조하세요: wpml_translate_single_string
패키지의 일부인 텍스트 문자열을 등록하려면 다음을 참조하세요: wpml_register_string
참고: 이 훅을 사용하려면 WPML 문자열 번역 모듈이 필요합니다.
인수
- $context
- (string) (필수) 등록하려는 문자열에 컨텍스트를 부여합니다. 일반적으로 사람이 읽을 수 있는 형식의 플러그인 또는 테마 이름입니다.
- $name
- (string) (필수) 번역가가 번역할 내용을 이해하는 데 도움이 되는 문자열의 이름입니다.
- $value
- (string) (필수) 번역해야 할 문자열입니다.
- $allow_empty_value
- (bool: 기본값 false) (선택 사항) 빈 값을 허용할지 여부입니다.
- $source_lang_code
- (string) (선택 사항) 등록된 문자열의 언어 코드입니다.
사용 예시
제목 입력 필드와 기타 옵션이 있는 사용자 정의 위젯을 만들었다고 가정해 보겠습니다. apply_filters를 사용하여 번역할 위젯 제목을 등록할 수 있지만, 위젯의 다른 옵션 필드에 저장할 수 있는 입력 텍스트도 등록하고자 할 수 있습니다.
번역할 입력 텍스트를 등록하는 작업은 위젯 옵션이 저장되거나 업데이트될 때, 즉 위젯의 ‘update’ 메서드 내에서 수행하는 것이 가장 좋습니다.
다음은 코드의 예시입니다. 예시의 사용자 정의 위젯에는 제목, 한 줄 입력 필드 및 텍스트 영역이 있습니다.
예시
function update($new_instance, $old_instance){
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
$instance['custom_input'] = strip_tags($new_instance['custom_input']);
$instance['custom_textarea'] = $new_instance['custom_textarea'];
//WPML
/**
* register strings for translation
*/
do_action( 'wpml_register_single_string', 'Widgets', 'Custom Widget - input field', $instance['custom_input'] );
do_action( 'wpml_register_single_string', 'Widgets', 'Custom Widget - textarea field', $instance['custom_textarea'] );
//WPML
return $instance;
}
위 코드는 WPML에 입력 필드와 텍스트 영역의 사용자 입력 텍스트를 번역해야 함을 알려줍니다. 이 텍스트는 Widgets 문자열 컨텍스트 아래에 각각 Custom Widget – input field 및 Custom Widget – textarea field라는 이름으로 등록됩니다.
관련 훅
wpml_set_element_language_details, wpml_make_post_duplicates, wpml_admin_make_post_duplicates, wpml_copy_post_to_language, wpml_delete_package, wpml_import_get_trid_from_imported_translations, wpml_register_string, wpml_show_package_language_ui, wpml_delete_package_action