Как изменить "Есть купон?"текст на странице оформления заказа в Woocommerce - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь перевести "Есть купон?"текст на странице оформления заказа в Woocommerce с использованием этого кода:

function custom_strings_translation( $translated_text, $text, $domain ) {
  switch ( $translated_text ) {
    case 'HAVE A COUPON?' : 
        $translated_text =  __( 'TIENES UN CUPÓN?', '__x__' );
        break;
}

  return $translated_text;
}
add_filter('gettext', 'custom_strings_translation', 20, 3);

Но это не работает.

Пожалуйста, кто-нибудь может сказать мне, почему?

1 Ответ

0 голосов
/ 26 сентября 2018

Это не работает, потому что текст не в заглавных буквах, и вы не используете правильную переменную.

Есть 2 способа изменить этот текст (второй способ кажется наилучшим) :

1) Использование фильтра gettext таким образом:

add_filter('gettext', 'custom_strings_translation', 20, 3);
function custom_strings_translation( $translated_text, $text, $domain ) {
    if( $text == 'Have a coupon?' ){
        $translated_text =  __( 'Tienes un cupón?', $domain );
    }
    return $translated_text;
}

Код помещается в файл function.php файлаАктивная детская тема (или активная тема).Протестировано и работает.


2) Использование woocommerce_checkout_coupon_message ловушки фильтра, которая позволит вам больше изменений:

add_filter( 'woocommerce_checkout_coupon_message', 'custom_checkout_coupon_message', 20, 1 );
function custom_checkout_coupon_message( $notice ) {
    return __( 'Tienes un cupón?', 'woocommerce' ) . ' <a href="#" class="showcoupon">' . __( 'Haga clic aquí para ingresar su código', 'woocommerce' ) . '</a>'
}

Код помещается в файл function.php активной дочерней темы (или активная тема).Протестировано и работает.


Похожие:

...