我是编码中的菜鸟。但是有一个问题是我没有帮助就无法解决。我也没有在互联网上找到任何解决方案或只找到解决方案的一部分,但我不知道如何将它们结合起来。
例如:
加入购物车---> $ 9.99加入
或(如果奖金为零)
加入购物车---> FREE
我有什么。两个都在工作,但我不知道如何结合这个...
add_filter( 'woocommerce_product_single_add_to_cart_text', 'my_custom_cart_button_text', 10 );
function my_custom_cart_button_text() {
global $product;
if (@$product->product_type == 'simple') {
return __(get_woocommerce_currency_symbol().@$product->price, 'woocommerce');
} else {
// If needed the default behavior for all other products:
// return __('My default text', 'woocommerce');
}
}
和
add_filter( 'woocommerce_product_single_add_to_cart_text', 'price_zero' );
function price_zero() {
global $product;
if( $product->get_price() == 0 )
return __( 'Free', 'woocommerce' );
}
谢谢。
答案 0 :(得分:1)
你可以将上面的内容翻到一个过滤器中!
add_filter( 'woocommerce_product_single_add_to_cart_text', 'my_custom_cart_button_text', 10 );
function my_custom_cart_button_text() {
global $product;
$default = get_woocommerce_currency_symbol().$product->price;
$free = __('Free', 'woocommerce');
$button_txt = ($product->get_price() == 0)?$free:$default;
return __('Add to cart', 'woocommerce').' --> '.$button_txt;
}
或修改my_custom_cart_button_text($default)
添加$default
参数以获取通过price_zero
函数所做的更改,并确保其优先级低于10。