根据 WooCommerce 产品类型更改添加到购物车按钮和文本
Change add to cart button and text based on WooCommerce product type
如何根据产品类型更改产品列表循环中的 WooCommerce 添加到购物车按钮,例如:
- 对于有变体的产品,我想在添加到购物车按钮中添加一个文本:“显示产品”
- 对于简单产品“显示产品”
- 对于缺货的产品:“无货”
我尝试使用以下代码但不起作用:
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 10, 2 );
function replace_loop_add_to_cart_button( $button, $product ) {
$button_text = __( "Out of stock", "woocommerce" );
return '<a class="view-product" href="' . $product->get_permalink() . '">' . $button_text . '</a>';
if( ! $product->managing_stock() && ! $product->is_in_stock() ) {
return $button;
}
if( $product->is_type( 'variable' ) ) return $button;
}
请尝试以下操作:
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 10, 2 );
function replace_loop_add_to_cart_button( $button, $product ) {
// Out of stock products
if( ! $product->is_in_stock() ) {
$button_text = __( "Unavailable", "woocommerce" );
}
// Simple and Variable products
elseif( $product->is_type( 'simple' ) || $product->is_type( 'variable' ) ) {
$button_text = __( "Show product", "woocommerce" );
}
// Other product types
else {
$button_text = add_to_cart_text();
}
return '<a class="view-product button" href="' . $product->get_permalink() . '">' . $button_text . '</a>';
}
代码进入活动子主题(或活动主题)的 functions.php 文件。它应该工作
要更改 woocommerce“立即预订”按钮,我安装了这个插件 https://wordpress.org/plugins/button-customizer-for-woocommerce/ 并向 functions.php 添加了 2 个过滤器,最后它起作用了
add_filter( 'woocommerce_booking_single_check_availability_text', 'wooninja_booking_check_availability_text' );
function wooninja_booking_check_availability_text() {
return "your text";
}
add_filter( 'woocommerce_booking_single_add_to_cart_text', 'wooninja_woocommerce_booking_single_add_to_cart_text' );
function wooninja_woocommerce_booking_single_add_to_cart_text() {
return "your text";
}
如何根据产品类型更改产品列表循环中的 WooCommerce 添加到购物车按钮,例如:
- 对于有变体的产品,我想在添加到购物车按钮中添加一个文本:“显示产品”
- 对于简单产品“显示产品”
- 对于缺货的产品:“无货”
我尝试使用以下代码但不起作用:
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 10, 2 );
function replace_loop_add_to_cart_button( $button, $product ) {
$button_text = __( "Out of stock", "woocommerce" );
return '<a class="view-product" href="' . $product->get_permalink() . '">' . $button_text . '</a>';
if( ! $product->managing_stock() && ! $product->is_in_stock() ) {
return $button;
}
if( $product->is_type( 'variable' ) ) return $button;
}
请尝试以下操作:
add_filter( 'woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 10, 2 );
function replace_loop_add_to_cart_button( $button, $product ) {
// Out of stock products
if( ! $product->is_in_stock() ) {
$button_text = __( "Unavailable", "woocommerce" );
}
// Simple and Variable products
elseif( $product->is_type( 'simple' ) || $product->is_type( 'variable' ) ) {
$button_text = __( "Show product", "woocommerce" );
}
// Other product types
else {
$button_text = add_to_cart_text();
}
return '<a class="view-product button" href="' . $product->get_permalink() . '">' . $button_text . '</a>';
}
代码进入活动子主题(或活动主题)的 functions.php 文件。它应该工作
要更改 woocommerce“立即预订”按钮,我安装了这个插件 https://wordpress.org/plugins/button-customizer-for-woocommerce/ 并向 functions.php 添加了 2 个过滤器,最后它起作用了
add_filter( 'woocommerce_booking_single_check_availability_text', 'wooninja_booking_check_availability_text' );
function wooninja_booking_check_availability_text() {
return "your text";
}
add_filter( 'woocommerce_booking_single_add_to_cart_text', 'wooninja_woocommerce_booking_single_add_to_cart_text' );
function wooninja_woocommerce_booking_single_add_to_cart_text() {
return "your text";
}