问题描述
如何在产品列表循环中更改 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 文件中。它应该工作