[英]Remove "proceed to checkout" button based on WooCommerce cart total
我正在嘗試根據購物車總數禁用和啟用結帳。
禁用繼續結帳按鈕有效,但啟用它不會給出所需的結果,請參見下面的代碼:
function disable_checkout() {
$maximum = 500;
if( WC()->cart->total < $maximum ){
remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
echo '<p class="checkout-button button alt">Wholesale Orders is only valid on order more than ' . $maximum . ' Euros.</p>';
} else {
echo '<p class="checkout-button button alt">Proceed to checkout</p>';
add_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
}
}
add_action( 'woocommerce_proceed_to_checkout', 'disable_checkout', 1 );
有人可以指導我完成這個過程嗎?
關於您的代碼嘗試的一些評論/建議:
woocommerce_check_cart_items
操作掛鈎WC()->cart->get_cart_contents_total()
獲取購物車總數。 這是購物車中的商品總數,但已打折。所以你得到:
function action_woocommerce_check_cart_items() {
// Setting
$minimum = 500;
// Get cart total
$cart_total = WC()->cart->get_cart_contents_total();
// Less than the minimum
if ( $cart_total < $minimum ) {
// Notice
wc_add_notice( sprintf( __( 'Wholesale Orders is only valid on order more than %s Euros.', 'woocommerce' ), $minimum ), 'error' );
// Optional: remove proceed to checkout button
remove_action( 'woocommerce_proceed_to_checkout', 'woocommerce_button_proceed_to_checkout', 20 );
}
}
add_action( 'woocommerce_check_cart_items' , 'action_woocommerce_check_cart_items', 10 );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.