我是编码的菜鸟。但是有一个问题是我没有帮助就无法解决。我也没有在互联网上找到任何解决方案或只找到解决方案的一部分,但我不知道如何将它们结合起来。 例: 加入购物车---> 9.99美元 或(如果奖金为零) 加入购物车--->免费
是)我有的。两个都在工作,但我不知道如何结合这个......
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' );
}
谢谢。
您可以将上面的内容翻到一个过滤器中!
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。