WooCommerce产品列表页面中每个产品的下面都有一个“添加到购物车”按钮。假设现在我们想把按钮上的文字改成“查看“。
有两种方式可是实现:插件;修改代码。
WC Custom Add to Cart labels插件专门用来做这个工作。安装并激活后,在WooCommerce的Setting->Products中会出现Add to cart button labels子项。把默认设置“Add to cart”修改成你希望显示的文字。
此文件定义了类WC_Product_Simple,继承自WC_Product。该类有成员函数add_to_cart_text(),规定了在按钮中显示的文字,修改成自己希望的文字即可。
这里修改的只是产品列表页面上的att-to-cart按钮,没有修改单个产品页面上的按钮。
修改单产品页面上的添加到购物车按钮上的文字:
add_filter( 'add_to_cart_text', 'woo_custom_cart_button_text' ); // < 2.1
function woo_custom_cart_button_text() {
return __( 'My Button Text', 'woocommerce' );
}
修改产品列表页面上的添加到购物车按钮上的文字:
add_filter( 'add_to_cart_text', 'woo_archive_custom_cart_button_text' ); // < 2.1
function woo_archive_custom_cart_button_text() {
return __( 'My Button Text', 'woocommerce' );
}
修改单产品页面上的添加到购物车按钮上的文字:
add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); // 2.1 +
function woo_custom_cart_button_text() {
return __( 'My Button Text', '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 __( 'My Button Text', 'woocommerce' );
}
add_to_cart_url()函数
plugins/woocommerce/templates/single-product/add-to-cart/simple.php文件中:
//为from添加属性action
<form class="cart" method="post" enctype='multipart/form-data' action="http://121.40.200.80/newsite/seller1/">
//删除此button
< button type="submit" name="add-to-cart" value="<?php echo esc_attr( $product->get_id() ); ?>" class="single_add_to_cart_button button alt"><?php echo esc_html( $product->single_add_to_cart_text() ); ?></button >
//添加新button
<button type="submit">联系卖家</button>
修改plugins/woocommerce/templates/single-product/add-to-cart/simple.php如下:
//去掉数量框
/*
woocommerce_quantity_input( array(
'min_value' => apply_filters( 'woocommerce_quantity_input_min', $product->get_min_purchase_quantity(), $product ),
'max_value' => apply_filters( 'woocommerce_quantity_input_max', $product->get_max_purchase_quantity(), $product ),
'input_value' => isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : $product->get_min_purchase_quantity(),
) );
*/