更改WooCommerce添加到特定标签的购物车文本

时间:2015-01-21 12:00:30

标签: php wordpress woocommerce

我正在寻找一个功能来更改woocommerce按钮上的添加到购物车文本,但前提是有问题的产品有特定标签。即如果产品有标签"预订"按钮文本更改为" Pre Order Now"

使用此功能可以实现全局更改文本;

http://docs.woothemes.com/document/change-add-to-cart-button-text/

感谢。

3 个答案:

答案 0 :(得分:2)

您可以使用has_term检查该特定字词。

    //For single product page
    add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); // 2.1 +
    function woo_custom_cart_button_text() {
        global $product;
        if ( has_term( 'preorder', 'product_cat', $product->ID ) ) :
            return __( 'Pre order Now!', 'woocommerce' );
        endif;
    }
    //For Archive page
    add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' ); // 2.1 +
    function woo_archive_custom_cart_button_text() {
        if ( has_term( 'preorder', 'product_cat', $product->ID ) ) :
            return __( 'Pre order Now!', 'woocommerce' );
        else:
            return __( 'Add to Cart', 'woocommerce' );
        endif;
    }  

让我知道输出。

答案 1 :(得分:0)

已经有一段时间了,但请尝试以下几点:

<?php
add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_woocommerce_product_add_to_cart_text' );
/**
* custom_woocommerce_template_loop_add_to_cart
*/
function custom_woocommerce_product_add_to_cart_text() {

global $product;

$product_tag = $product->product_tag;

switch ( $product_tag ) { 
  case 'preorder':
    return __( 'Pre order Now!', 'woocommerce' );
  break;
  default:
    return __( 'Add to cart', 'woocommerce' );
    }
}

基本上你要做的是做一个条件,你检查产品标签是否是&#34;预订&#34;。如果有多个标签,我不确定这个确切的代码是否有用。

编辑: 您可能必须使用此过滤器在产品页面上更改它

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); 

答案 2 :(得分:0)

您可以通过在functions.php中添加几行代码来修复它:

// Change the add to cart text on single product pages

add_filter( 'woocommerce_product_single_add_to_cart_text’, ‘woo_custom_cart_button_text' ); // 2.1 +

function woo_custom_cart_button_text() {
    return __( 'ADD TO CART', 'woocommerce' );
}

//Change the add to cart text on product archives
add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' ); // 2.1 +

function woo_archive_custom_cart_button_text() {
    return __( 'ADD TO CART', 'woocommerce' );
}

http://visupporti.com/woocommerce-how-to-change-add-to-cart-text/