WPML

코드에서 사용하는 예제와 함께 ACF Multilingual(ACFML) 상수 및 훅의 전체 목록을 확인하세요.

ACF Multilingual(ACFML) 훅

acfml_should_translate_acf_entity

이 필터는 ACFML이 ACF 필드 또는 필드 그룹의 번역된 레이블을 표시할지 여부를 결정합니다. 모든 언어에서 원본 레이블을 표시하려면 false를 반환하세요. 필드 값은 변경되지 않습니다.

유형: 필터

사용 가능 버전: ACFML 2.1.4

매개변수:

$shouldTranslate
(bool) (필수) 필드 또는 필드 그룹을 번역할지 여부입니다. 기본값은 true입니다.

$entity
(array) (필수) 번역할 엔터티로, 필드 배열 또는 그룹 배열입니다.

$entityType
(string) (선택 사항) 번역할 엔터티의 유형입니다. ‘field’ 또는 ‘group’일 수 있습니다.

훅 사용 예제:

add_filter( 'acfml_should_translate_acf_entity', function( $shouldTranslate, $entity, $entityType ) {
	if ( 'field' === $entityType ) {
		return false;
	}

	return $shouldTranslate;
}, 10, 3 );

acfml_field_group_mode_field_translation_preference

이 필터를 사용하면 필드 그룹이 Same content in every language, translated 또는 Each language has its own content를 사용할 때 ACF 필드의 기본 번역 기본 설정을 재정의할 수 있습니다.

참고: 이 필터는 개별 필드의 저장된 기본 설정이 아니라 기본 번역 기본 설정만 변경합니다. 기본값을 수정하는 경우 새 기본값을 적용하려면 영향을 받는 필드 그룹을 다시 저장해야 합니다.

유형: 필터

사용 가능 버전: ACFML 2.0.0

매개변수:

$fieldTranslationPreference (int) (필수) 필드의 기본 번역 기본 설정입니다. 가능한 값은 다음과 같습니다.

  • 0 — 번역 안 함. WPML이 필드를 완전히 무시합니다.
  • 1 — 복사. 필드 값이 모든 언어에 복사되고 동기화 상태를 유지합니다.
  • 2 — 번역. 필드 값을 번역할 수 있게 됩니다.
  • 3 — 한 번 복사. 필드 값이 모든 언어에 한 번 복사된 후 각 언어에서 독립적으로 편집할 수 있습니다.

$groupMode (string) (필수) 필드 그룹 번역 모드입니다. 가능한 값: translation 또는 localization.
$field (array) (필수) ACF 필드 배열입니다.

훅 사용 예제:

add_filter( 'acfml_field_group_mode_field_translation_preference', function( $fieldTranslationPreference, $groupMode, $field ) {
    $fieldType = $field['type'] ?? null;

    if ( 'url' === $fieldType ) {
        return 1; // WPML_COPY_CUSTOM_FIELD
    }

    return $fieldTranslationPreference;
}, 10, 3 );

이 예제는 url 필드 유형에 권장되는 번역 기본 설정 대신 복사 기본 설정을 부여합니다.

ACF Multilingual(ACFML) 상수

ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS

ACFML 2.1.5부터 이 상수를 사용하여 글 번역 작업에 필드 그룹 문자열을 포함할 수 있습니다.

이를 활성화하려면 wp-config.php 파일에 다음 줄을 추가하세요.

define( 'ACFML_EXCLUDE_FIELD_GROUP_STRINGS_IN_POST_JOBS', false );

참고:

  • wp-config.php 파일에 이 코드를 추가하기 전에 번역 작업을 생성한 경우 해당 작업을 취소하고 새로 만드세요.
  • 필요한 경우 번역 대시보드를 통해 번역할 필드 레이블과 선택 항목을 보낼 수 있습니다.

ACFML_HIDE_FIELD_ANNOTATIONS

각 번역된 필드에 대해 ACF Multilingual은 원본 언어의 값에 대한 정보를 추가합니다.

번역된 필드에서 이 정보를 제거하려면 사이트의 wp-config.php 파일에 다음 줄을 추가할 수 있습니다.

define( 'ACFML_HIDE_FIELD_ANNOTATIONS', true );

ACFML_REPEATER_SYNC_DEFAULT

이 상수는 Keep repeater and flexible sub-fields in the same order as the default language 확인란의 기본 상태를 설정합니다. ACFML은 Expert 옵션을 사용하는 글의 ACFML Synchronise translations 상자에 이 확인란을 표시합니다. 기본값은 true이므로 확인란이 선택된 상태로 시작됩니다. 확인란이 선택 취소된 상태로 시작하려면 상수를 false로 설정하세요. 글에 저장한 선택 사항이 이 기본값보다 우선합니다.

테마의 functions.php 파일에서 ACFML_REPEATER_SYNC_DEFAULT의 기본값을 재정의할 수 있습니다.

define('ACFML_REPEATER_SYNC_DEFAULT', false);

ACFML_SCAN_LOCAL_FIELDS

이 상수는 ACF도구에 있는 Sync Translation Preferences for Local Fields 설정의 기본값을 설정합니다. 모든 관리 화면 요청 시 로컬 필드(로컬 JSON 및 PHP 등록 필드)의 번역 기본 설정을 동기화하려면 true로 설정하세요. 상수가 정의되지 않았거나 false인 경우 ACFML은 이를 자동으로 동기화하지 않습니다.

ACF도구에 저장한 선택 사항이 이 상수보다 우선합니다. 한 번만 동기화하려면 해당 메뉴에서 Sync once now를 선택하고 적용을 클릭하세요.

자세한 내용은 로컬 JSON 사용 (새 탭에서 열림)에 대한 공식 ACF 문서를 확인하세요.

작성자:Amir