相关疑难解决方法(0)

如果购物车中有特定产品,请禁用所有支付网关

我想在特殊情况下禁用所有支付网关:
我有 2 种特殊产品,我不想在结账时与任何其他产品结合使用。

假设我的“特殊”产品 ID 是496484。所有其他都是“正常”产品。

  1. 例如,如果购物车中有这些“特殊”产品之一,我想禁用“贝宝”。

  2. 如果客户的购物车中同时有“特殊”产品和“普通”产品,我想禁用所有支付网关,因此他无法结帐。

这是我的代码:

//disable add to cart if
add_filter( 'woocommerce_available_payment_gateways', 'filter_gateways', 1);

function filter_gateways( $gateways )
{   
    global $woocommerce;

    foreach ($woocommerce->cart->cart_contents as $key => $values ) {   
        // store product IDs in array   
        $nonPPproducts = array(496,484);        

        if (in_array( $values['product_id'], $nonPPproducts ) ) {
            unset($gateways['cod'], $gateways['bacs'], $gateways['cheque'], $gateways['stripe']);
        } elseif ( in_array( $values['product_id'], $nonPPproducts ) && in_array( $values['product_id'] …
Run Code Online (Sandbox Code Playgroud)

php wordpress payment-gateway cart woocommerce

1
推荐指数
1
解决办法
2253
查看次数

标签 统计

cart ×1

payment-gateway ×1

php ×1

woocommerce ×1

wordpress ×1