預設情況下,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 模板上做了比較大的修改,直接修改模板程式碼裡面的文字也是一種不錯的選擇。