Есть магазин на 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;
}
Как решить эту задачку?
Функция pll_e()
транслирует и выводит строку. Вам нужно заменить её на pll__()
, которая возвращает транслированную строку.
function custom_override_checkout_fields( $fields ) {
$fields['billing']['billing_first_name']['label'] = pll__( 'CHOSE DATES' );
return $fields;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, как на PHP выполнить запрос к MongoDB на поиск строки по нескольким ключам?
Допустим есть коллекция collection из объектов некоторого класса