简体   繁体   中英

Translate Woocommerce Add to cart button & Cart widget

I have a problem with translating the Add to cart button on woocommerce.

My website is: http://test.mk/OPA The website is in albanian and english. First language is English.

I have installed Polylang Pro plugin and also tried with Loco translate.

I have changed the "name" of the Add to cart button with this code in functions.php:

 //To change add to cart text on single product page
     add_filter( 'woocommerce_product_single_add_to_cart_text', 'woocommerce_custom_single_add_to_cart_text' ); 
function woocommerce_custom_single_add_to_cart_text() {
return __( 'Order Now', 'woocommerce' ); 
}

// To change add to cart text on product archives(Collection) page
add_filter( 'woocommerce_product_add_to_cart_text', 'woocommerce_custom_product_add_to_cart_text' );  
function woocommerce_custom_product_add_to_cart_text() {
    return __( 'Order Now', 'woocommerce' );
}

So, what I really need to translate is Order Now.

I added the string using this code:

add_action('init', function() {
  pll_register_string('woocommerce_product_add_to_cart_text', 'Order Now', 'WooCommerce');
});

It is in strings in the polylang plugin, but it is not translating.

Does someone know how to help me to translate the button & the Cart wiget that is also in the website?

Thank you in advance.

You can try with this function:

// change the text of the add to cart button according to the language
add_filter( 'woocommerce_product_add_to_cart_text', 'woocommerce_custom_single_add_to_cart_text', 99, 1 ); 
add_filter( 'woocommerce_product_single_add_to_cart_text', 'woocommerce_custom_single_add_to_cart_text', 99, 1 );
function woocommerce_custom_single_add_to_cart_text( $text ) {

    // returns the current language "Polylang"
    switch ( pll_current_language() ) {
        case 'en':
            return __( 'Order Now', 'woocommerce' );
        case 'sq':
            return __( 'Porosit tani', 'woocommerce' );
    }

    return $text;
}

Change the text of the "Add to cart" button according to the current language of the site .

This function should work but I believe you should search the Polylang plugin documentation to correctly translate the string.

The code must be inserted in the functions.php file of the active theme.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM