【发布时间】:2019-04-07 11:04:54
【问题描述】:
如果购物车上有任何延期交货的物品,我需要隐藏 paypal,如果没有任何延期交货的物品,我需要隐藏 cod。我的问题是,如果有一个缺货的项目和一个没有缺货的项目,我最终没有支付处理器
add_filter( 'woocommerce_available_payment_gateways', 'backordered_items_hide_cod', 90, 1 );
function backordered_items_hide_cod( $available_gateways ) {
// Only on front end
if ( is_admin() )
return;
// Loop through cart items
foreach( WC()->cart->get_cart() as $cart_item ){
if( $cart_item['data']->is_on_backorder( $cart_item['quantity'] ) ) {
// Hide payment gateway
unset($available_gateways['paypal']);
} else {
unset($available_gateways['cod']);
break; // Stop the loop
}
}
return $available_gateways;
}
【问题讨论】:
-
如果购物车中存在延期交货和未延期交货的产品,应该有哪种付款方式?
-
如果两个都在购物车里,应该只有货到付款。
标签: php wordpress foreach woocommerce payment-gateway