在 WooCommerce 中,有谁知道如何在库存中选择“延期交货”时删除“添加到购物车”按钮,并仍将“延期交货”文本保留在前端?这会是全站范围吗?
尝试解决这个问题:
add_action('woocommerce_single_product_summary', 'check_if_backordered', 1 ); function check_if_backordered(){
global $product;
if ($product->is_on_backorder()){
add_filter( 'woocommerce_is_purchasable', '__return_false');
}
}
但它也会删除库存状态文本。
如果产品缺货但仍显示库存状态,如何隐藏“添加到购物车”按钮?
要在产品缺货时隐藏“添加到购物车”按钮但保持库存状态显示,请尝试:
add_filter( 'woocommerce_is_purchasable', 'hide_add_to_cart_if_backorder', 20, 2 );
add_filter( 'woocommerce_variation_is_purchasable', 'hide_add_to_cart_if_backorder', 20, 2 );
function hide_add_to_cart_if_backorder( $is_purchasable, $product ) {
if ( $product->is_on_backorder() ) {
$is_purchasable = false;
}
return $is_purchasable;
}
add_action( 'woocommerce_single_product_summary', 'add_back_backorder_status', 30 );
function add_back_backorder_status() {
global $product;
if ( ! $product->is_type('variable') && $product->is_on_backorder() ) {
echo wc_get_stock_html( $product );
}
}
代码位于活动子主题(或活动主题)的functions.php 文件中。
经过测试并可与 WooCommerce 店面主题配合使用。