默认情况下,WooCommerce 商店中,当填写了商品价格时,添加到购物车上的文字为 “添加到购物车(Add to cart)”, 大多数情况下,这种默认设置都是没问题的,当我们需要个性化我们的网络商店,提现品牌差异化的时候,我们可能需要修改一下添加到购物车按钮上的文字,比如,修改为 “添加到购物袋” 。当然,我们可以通过修改模板实现这个需求,只不过略显麻烦。 WooCommerce 为我们提供了一个 Filter 来实现这个需求,我们来看一下这个 Filter 的具体实现方法。

下面的示例中,我们修改 WooCommerce 默认的 “Add to cart” 为 “Add to bag”,WooCommerce 2.1 以后的版本中,Filter 的名称发生了变化,所以,示例代码分为 2.1 以前的版本和 2.1 以后的版本,请注意区分。

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

  1. add_filter( 'add_to_cart_text', 'woo_custom_cart_button_text' ); // < 2.1
  2. function woo_custom_cart_button_text() {
  3.     return __( 'Add to bag', 'woocommerce' );
  4. }
  1. add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); // 2.1 +
  2. function woo_custom_cart_button_text() {
  3.     return __( 'Add to bag', 'woocommerce' );
  4. }

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

  1. add_filter( 'add_to_cart_text', 'woo_custom_cart_button_text' ); // < 2.1
  2. function woo_custom_cart_button_text() {
  3.     return __( 'Add to bag', 'woocommerce' );
  4. }
  1. add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' ); // 2.1 +
  2. function woo_archive_custom_cart_button_text() {
  3.     return __( 'Add to bag', 'woocommerce' );
  4. }

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

  1. add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_woocommerce_product_add_to_cart_text' );
  2. function custom_woocommerce_product_add_to_cart_text() {
  3.   global $product;
  4. 
    
  5.   $product_type = $product->product_type;
  6. 
    
  7.   switch ( $product_type ) {
  8.     case 'external':
  9.       return __( 'Buy product', 'woocommerce' );
  10.       break;
  11.     case 'grouped':
  12.        return __( 'View products', 'woocommerce' );
  13.        break;
  14.     case 'simple':
  15.        return __( 'Add to bag', 'woocommerce' );
  16.        break;
  17.     case 'variable':
  18.        return __( 'Select options', 'woocommerce' );
  19.        break;
  20.     default:
  21.       return __( 'Read more', 'woocommerce' );
  22.   }
  23. 
    
  24. }

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