WooCommerce:修改“添加到购物车” 的按钮文字

默认情况下,WooCommerce 网络商店中,当填写了商品价格时,添加到购物车上的文字为“添加到购物车(Add to cart)”, 大多数情况下,这种默认设置都是没问题的,当我们需要个性化我们的网络商店,提现品牌差异化的时候,我们可能需要修改一下添加到购物车按钮上的文字,比如,修改为 “添加到购物袋”。当然,我们可以通过修改模板实现这个需求,只不过略显麻烦。WooCommerce 为我们提供了一个 Filter 来实现这个需求,我们来看一下这个 Filter 的具体实现方法。
下面的示例中,我们修改 WooCommerce 默认的“Add to cart” 为“Add to bag”,WooCommerce 2.1 以后的版本中,Filter 的名称发生了变化,所以,示例代码分为2.1以前的版本和2.1以后的版本,请注意区分。
修改产品详情页面上的“添加到购物车”文字

add_filter( 'add_to_cart_text', 'woo_custom_cart_button_text' ); // < 2.1
function woo_custom_cart_button_text() {
    return __( &#039;Add to bag&#039;, &#039;woocommerce&#039; );
}
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 bag', 'woocommerce' );
}

修改产品存档页面上的“添加到购物车”文字

add_filter( 'add_to_cart_text', 'woo_custom_cart_button_text' ); // < 2.1
function woo_custom_cart_button_text() {
    return __( &#039;Add to bag&#039;, &#039;woocommerce&#039; );
}
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 bag', 'woocommerce' );
}

根据产品类型修改产品详情页面上的“添加到购物车”文字

add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_woocommerce_product_add_to_cart_text' );
function custom_woocommerce_product_add_to_cart_text() {
  global $product;
  $product_type = $product->product_type;
  switch ( $product_type ) {
    case 'external':
      return __( 'Buy product', 'woocommerce' );
      break;
    case 'grouped':
       return __( 'View products', 'woocommerce' );
       break;
    case 'simple':
       return __( 'Add to bag', 'woocommerce' );
       break;
    case 'variable':
       return __( 'Select options', 'woocommerce' );
       break;
    default:
      return __( 'Read more', 'woocommerce' );
  }
}

以上的方法适合只修改添加到购物车上的文字而不修改其他内容时,如果你的 WooCommerce 商店在标准的 WooCommerce 模板上做了比较大的修改,直接修改模板代码里面的文字也是一种不错的选择。