Как в woocommerce перевести billing поля на разные языки?

122
07 февраля 2021, 18:10

Есть магазин на woocommerce с установленным плагином мультиязычности polylang.

Мне нужно перевести лейблы billing полей на разные языки.

Простые словесные конструкции на страницах я перевожу с помощью комбинации: в functions.php прописываю фразу

pll_register_string( 'themename', 'CHOSE DATES' );

Перевожу ее на странице плагина и затем вывожу на любой странице с помощью

pll_e( 'CHOSE DATES' );

Но, для лейблов такой подход не прокатывает, т.к. вызов их идет через фильтр woocommerce_checkout_fields и выводит на месте лейбла пустоту, а в произвольном месте на странице перевод..

functions.php

pll_register_string( 'themename', 'CHOSE DATES' );
// Hook in
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields ) {
     $fields['billing']['billing_first_name']['label']  = pll_e( 'CHOSE DATES' );
     return $fields;
}

Как решить эту задачку?

Answer 1

Функция pll_e() транслирует и выводит строку. Вам нужно заменить её на pll__(), которая возвращает транслированную строку.

function custom_override_checkout_fields( $fields ) {
    $fields['billing']['billing_first_name']['label'] = pll__( 'CHOSE DATES' );
    return $fields;
}
READ ALSO
Поиск в mongodb по нескольким ключам

Поиск в mongodb по нескольким ключам

Подскажите, как на PHP выполнить запрос к MongoDB на поиск строки по нескольким ключам?

104
Как правильно задать Stream API collect

Как правильно задать Stream API collect

Допустим есть коллекция collection из объектов некоторого класса

115
Сортировка List<String> по числам

Сортировка List<String> по числам

Подскажите пожалуйста, вот есть список в

120