Плагин Woocommerce пожалуй самый популярный плагин для создания интернет-магазина на базе WordPress. И достаточно удобен для конечного пользователя. Но вот перевод на русский, иногда не соответствует желаемому.
Порой требуется изменить стандартный текст кнопок, заголовков форм на странице оформления заказа или иные надписи, относящиеся к данному плагину. Лезть в код и менять там — не хорошо, т.к. изменения слетят при первом же обновлении. Как решить?
Достаточно в functions.php вашей темы вставить примерно такой код:
// замена стандартных текстов function rog_shop_strings( $translated_text, $text, $domain ) { if( 'woocommerce' === $domain ) { switch ( $translated_text ) { case 'Добавить в корзину' : $translated_text = 'В корзину'; break; } } return $translated_text; } add_filter( 'gettext', 'rog_shop_strings', 20, 3 );
В этом примере если $translated_text (текст перевода) равен «Добавить в корзину», то заменяем его на текст «В корзину».
По сути, использование фильтра «gettext» это универсальный способ, которым можно изменить любой текст перевода в wordpress.
РАБОТАЕТ !!!!
Спасибо))))
Это круто реально. Весь интернет перекопал ив поисках решения.
Думал, что нужно к каждой функции привязывать…
Благодарю!
У меня работает так, я в самой функции делаю несколько аналогичных операций которые выполняются после if
вот пример:
function rog_shop_strings( $translated_text, $text, $domain ) {
if( ‘woocommerce’ === $domain ) {
switch ( $translated_text ) {
case ‘Добавить в корзину’ :
$translated_text = ‘В корзину’;
break;
}
switch ( $translated_text ) {
case ‘Детали’ :
$translated_text = ‘Характеристики’;
break;
}
}
return $translated_text;
}
add_filter( ‘gettext’, ‘rog_shop_strings’, 20, 3 );
сорри, не в тот коммент ответ написала
Огромное спасибо!!!
Здравствуйте, а как задать перевод например для двух и более позиций?
Автор красавчик!!! Спасибо!!!
Здравствуйте, работает, а как мне переводить много слов, при втором написании слов не получился, php ошибку дает.
Ваш комментарий ожидает проверки.
У меня работает так, я в самой функции делаю несколько аналогичных операций которые выполняются после if
вот пример:
function rog_shop_strings( $translated_text, $text, $domain ) {
if( ‘woocommerce’ === $domain ) {
switch ( $translated_text ) {
case ‘Добавить в корзину’ :
$translated_text = ‘В корзину’;
break;
}
switch ( $translated_text ) {
case ‘Детали’ :
$translated_text = ‘Характеристики’;
break;
}
}
return $translated_text;
}
add_filter( ‘gettext’, ‘rog_shop_strings’, 20, 3 );
Ответить ↓
Спасибо. Все просто и все работает)
Спасибо!
Спасибо!!!!