Варианты ACF для регистрации в WPML

Поскольку WPML не предоставляет решения для перевода полей [choices], я хотел бы добавить пользовательскую функцию для ее регистрации в WPML, однако я не являюсь звездой в php, но у меня есть ниже, но он не регистрируется в WPML String Translation:

$field = get_field_object( 'type_of_property' ); // acf field with choices
if (!empty($field['choices'])) {
    foreach( $field['choices'] as $choice ){
        do_action( 'wpml_register_single_string', 'ACF Domain', 'name'.$choice , $choice );
        $acflabel= apply_filters( 'wpml_translate_single_string', $choice, 'ACF Domain', 'name'.$choice, NULL );
        echo ' - ' . $acflabel;
    }
}

Вышеупомянутый метод идет в правильном направлении или мне нужно вызвать все варианты в поле type_of_property?


person Demian    schedule 10.02.2021    source источник


Ответы (1)


Я считаю, что вы должны быть в состоянии сделать это:

$field = get_field_object( 'type_of_property' );
if ( !empty( $field['choices'] ) ) {
    foreach( $field['choices'] as $choice ){
        echo ' - ' . __( $choice, 'ACF Domain' );
    }
}

Затем отсканируйте вашу тему/плагин на наличие строк:

  1. В панели администратора выберите WPML › Локализация тем и плагинов.
  2. Выберите тему или плагин и нажмите, чтобы отсканировать его.
  3. После завершения сканирования вы сможете найти строки на странице перевода строк.

Док:

https://wpml.org/documentation/getting-started-guide/string-translation/finding-strings-that-dont-appear-on-the-string-translation-page/#:%7E:text=To%20scan%20for%20hard%2Dcoded%20strings%3A

person montrealist    schedule 10.02.2021
comment
выглядит многообещающе, но ничего не регистрирует. Уверен, что он не должен зацепить wpml_register_single_string? - person Demian; 10.02.2021
comment
У вас многосерверная установка? Если да, проверьте нижнюю часть этого документа: wpml.org/faq/getting- перевод строки на работу - person montrealist; 12.02.2021
comment
Без мультисервера. Я думаю, что у него должна быть функция add_action, чтобы иметь возможность печатать его в сообщении. - person Demian; 17.02.2021