apply_filters( 'wpml_unfiltered_admin_string', mixed $default_value, string $option_name )
- 유형
- filter
- 카테고리
- 현지화된 콘텐츠 가져오기
- WPML 버전
- 3.2.3-dev
설명
WPML 문자열 번역은 테마/플러그인 설정 옵션을 필터링하여 현재 언어로 된 해당 값의 번역을 반환합니다.
이는 예를 들어 WPML 언어가 기본 언어인 영어와 보조 언어인 독일어로 설정된 WordPress 설치에서 현재 언어가 독일어일 때 get_option('{theme_name}_settings');을(를) 호출하면 반환되는 값이 독일어 번역일 것으로 예상할 수 있음을 의미합니다. 그런 다음 현재 언어가 영어일 때는 영어 값이 표시됩니다.
그러나 이는 옵션 값을 update_option('{theme_name}_settings', $new_value);(으)로 업데이트할 때 옵션 값이 두 언어 모두에서 업데이트됨을 의미하기도 합니다. 이것이 항상 바람직한 것은 아닐 수 있습니다.
이럴 때 위의 필터가 유용합니다. 이 필터를 사용하면 WPML 문자열 번역 필터를 우회하여 옵션 값을 가져올 수 있습니다. 반환되는 것은 해당 값을 가져온 언어의 값이므로, 데이터베이스에서 값을 업데이트하는 등의 추가 작업을 수행해도 작업 중인 언어 외의 다른 언어에는 영향을 미치지 않습니다.
인수
- $default_value
- (mixed) (필수) 문자열이 존재하지 않을 경우 반환할 값입니다.
- $option_name
- (string) (선택 사항) 가져올 옵션의 이름입니다. SQL 이스케이프 처리되지 않은 이름이어야 합니다.
사용 예시
아래 예제에서는 기본 언어가 아닌 다른 언어를 보고 있다고 가정합니다.
가져오려는 옵션 값은 직렬화된 배열로 저장되어 있습니다. 이 배열에서 단일 키-값 쌍을 업데이트하여 데이터베이스에 저장하려고 합니다. 현재 언어에만 영향을 미칠 것으로 예상합니다.
예제
// retrieve option value is current language
$a = apply_filters( 'wpml_unfiltered_admin_string', get_option( 'my_option_name' ), 'my_option_name' );
// some operations ...
$a['number']++;
//update the value for the current language only
update_option('my_option_name', $a); 관련 훅
wpml_media_url, wpml_media_id, force_suppress_filters, wpml_get_translated_slug, wpml_home_url, wpml_translate_single_string, wpml_translate_string, wpml_elements_without_translations, wpml_permalink, wpml_element_link