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