Универсальная функция для перевода строк для Wordpress и WooCommerce

Используйте фильтр GetText для перевода/изменения строк на кнопках и надписях в WooCommerce для Wordpress.

Можно использовать CSS или JavaScript для изменения ярлыка кнопки, что с этим не так? Да, можно. Однако вы добавляете лишний код и тратите дополнительное время, чтобы отобразить кнопку, когда вместо этого вы можете использовать один из самых удобных фильтров в WordPress — gettext. Используя этот фильтр совместно с textdomain, мы можем изменять текст до загрузки страницы. Если изменяемый текст находится в теме, найдите строку кода load_theme_textdomain ($ domain).

На примере WooCommerce рассмотрим, как изменить текст, который появляется для заголовка «Related Products». Вставьте следующий код в файл functions.php вашей темы:

function translate_string( $translated_text, $untranslated_text, $domain ) {
    if ( $translated_text == 'Related Products') {
                    $translated_text = __( 'Other Great Products', 'woocommerce' );
    }
    return $translated_text;
}
 
add_filter( 'gettext', 'translate_string', 15, 3 );

Этот фильтр применяется к переведённому тексту с помощью функций интернационализации Wordpress.

Код вставляем в functions.php вашей темы. Вы можете взять любое вашего шаблона и перевести, для этого достаточно скопировать раздел case. Код тестировался на многоязычном WooCommerce переведенным плагином Polylang (Adds multilingual capability to WordPress).

Работающий пример:

function my_text_strings( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
        case 'Related products' :
            $translated_text = __( 'Best hostings', 'woocommerce' );
            break;
    	case 'Похожие товары' :
            $translated_text = __( 'Популярные хостинги', 'woocommerce' );
            break;        
    }
    return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );

Удачи и профита!

  • Крупнейшая в Европе школа английского языка

    Промокоды, акции и подарки, чтобы Ваше обучение было не только интересным, но и выгодным. Закажите пробный урок уже сейчас!

    skyeng.ru
  • Английский для IT‑специалистов по Skype

    Персональные занятия по разумным ценам. Длительность курса: 50 уроков по 50 минут. Управляй расписанием занятий через мобильное приложение!

    englex.ru