更改具有 "no price" 和 "out of stock" 的产品的“添加到购物车”按钮文本
Change “add to cart” button text for products that have "no price" and "out of stock"
我想为满足以下条件的产品更改“添加到购物车”文本按钮:
- 空价
- 缺货
目的是将文本更改为“现在不可用”
这是一个示例图像来澄清我的问题
这是我使用的代码。但我无法让它发挥作用。知道我哪里出错了吗?
add_filter( 'woocommerce_after_shop_loop_item', 'price_zero_empty', 9999, 2 );
function price_zero_empty( $price, $product ) {
global $product;
if ( $stock == 'outofstock' && '' == $product->get_price() || 0 == $product->get_price() ) {
add_filter( 'gettext', 'change_readmore_text', 20, 3 );
}
function change_readmore_text(){
if (! is_admin() && $domain === 'woocommerce' && $price === 0 && $translated_text === 'Read more') {
$translated_text = 'Not available right now';}
return $translated_text;
}
要更改“无价格”和“缺货”产品的文本,您可以使用 woocommerce_product_add_to_cart_text
过滤器挂钩。
所以你得到:
function filter_woocommerce_product_add_to_cart_text( $add_to_cart_text, $product ) {
// Price empty & Product is out of stock
if ( empty ( $product->get_price() ) && $product->get_stock_status() == 'outofstock' ) {
$add_to_cart_text = __( 'Not available right now', 'woocommerce' );
}
return $add_to_cart_text;
}
add_filter( 'woocommerce_product_add_to_cart_text', 'filter_woocommerce_product_add_to_cart_text', 10, 2 );
add_filter( 'woocommerce_product_single_add_to_cart_text', 'filter_woocommerce_product_add_to_cart_text', 10, 2 );
我想为满足以下条件的产品更改“添加到购物车”文本按钮:
- 空价
- 缺货
目的是将文本更改为“现在不可用”
这是一个示例图像来澄清我的问题
这是我使用的代码。但我无法让它发挥作用。知道我哪里出错了吗?
add_filter( 'woocommerce_after_shop_loop_item', 'price_zero_empty', 9999, 2 );
function price_zero_empty( $price, $product ) {
global $product;
if ( $stock == 'outofstock' && '' == $product->get_price() || 0 == $product->get_price() ) {
add_filter( 'gettext', 'change_readmore_text', 20, 3 );
}
function change_readmore_text(){
if (! is_admin() && $domain === 'woocommerce' && $price === 0 && $translated_text === 'Read more') {
$translated_text = 'Not available right now';}
return $translated_text;
}
要更改“无价格”和“缺货”产品的文本,您可以使用 woocommerce_product_add_to_cart_text
过滤器挂钩。
所以你得到:
function filter_woocommerce_product_add_to_cart_text( $add_to_cart_text, $product ) {
// Price empty & Product is out of stock
if ( empty ( $product->get_price() ) && $product->get_stock_status() == 'outofstock' ) {
$add_to_cart_text = __( 'Not available right now', 'woocommerce' );
}
return $add_to_cart_text;
}
add_filter( 'woocommerce_product_add_to_cart_text', 'filter_woocommerce_product_add_to_cart_text', 10, 2 );
add_filter( 'woocommerce_product_single_add_to_cart_text', 'filter_woocommerce_product_add_to_cart_text', 10, 2 );