Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WooCommerce:在购物车页面上预先设置默认付款方式_Php_Wordpress_Woocommerce_Coupon_Payment Method - Fatal编程技术网

Php WooCommerce:在购物车页面上预先设置默认付款方式

Php WooCommerce:在购物车页面上预先设置默认付款方式,php,wordpress,woocommerce,coupon,payment-method,Php,Wordpress,Woocommerce,Coupon,Payment Method,我试图限制折扣或优惠券,如果客户选择特定的付款方式。为此,我使用了一个名为的插件 我有3种付款方式:支票、信用卡和贝宝。我设置了一张优惠券,如果选择了付款方式“PayPal”,则可以限制订单上的折扣 然而,在购物车页面,当我向订单添加优惠券时,我得到了当前错误 优惠券对于当前选择的付款方式无效 我原以为WooCommerce的默认付款方式是按顺序排列的第一种付款方式,但它给了我这个错误。有一些方法可以通过编程取消应用默认的付款方式,但我还没有看到在购物车页面(在结帐页面之前)上应用默认付款方式的

我试图限制折扣或优惠券,如果客户选择特定的付款方式。为此,我使用了一个名为的插件

我有3种付款方式:支票、信用卡和贝宝。我设置了一张优惠券,如果选择了付款方式“PayPal”,则可以限制订单上的折扣

然而,在购物车页面,当我向订单添加优惠券时,我得到了当前错误

优惠券对于当前选择的付款方式无效

我原以为WooCommerce的默认付款方式是按顺序排列的第一种付款方式,但它给了我这个错误。有一些方法可以通过编程取消应用默认的付款方式,但我还没有看到在购物车页面(在结帐页面之前)上应用默认付款方式的方法

我尝试了以下方法:

  $available_gateways = $woocommerce->payment_gateways->get_available_payment_gateways();

  $available_gateways['cheque']->chosen = true;
但这只适用于结帐页面


有什么想法吗?

我也遇到了同样的问题,我这样解决了:

在woocommerce自动添加优惠券/includes/WJECF_Controller.php中,查找以下行:

//============================
    //Test restricted payment methods
并将此代码添加到:

if (!isset( WC()->session->chosen_payment_method ) || WC()->session->chosen_payment_method == '' || !is_checkout()) {WC()->session->set('chosen_payment_method', 'paypal');}

我也有同样的问题,我这样解决:

在woocommerce自动添加优惠券/includes/WJECF_Controller.php中,查找以下行:

//============================
    //Test restricted payment methods
并将此代码添加到:

if (!isset( WC()->session->chosen_payment_method ) || WC()->session->chosen_payment_method == '' || !is_checkout()) {WC()->session->set('chosen_payment_method', 'paypal');}

这不是很清楚…如果我理解,您的优惠券只适用于Paypal支付方式,以限制Paypal的所有其他折扣。所以,如果你强制支票为默认值,你得到那个错误是正常的,不是吗?然后,通常在结帐页面选择付款方式,而不是购物车页面。这有点复杂。也许你得换一种方式重新思考……对不起。我的意思是,我的优惠券设置为仅在支票和信用卡支付选项上可用,并在选择PayPal时取消应用。在购物车页面上,似乎没有选择默认付款选项。希望这能把事情弄清楚一点是的,现在已经非常清楚了…谢谢,这还不是很清楚…如果我理解的话,你的优惠券只适用于Paypal支付方式,以限制Paypal的所有其他折扣。所以,如果你强制支票为默认值,你得到那个错误是正常的,不是吗?然后,通常在结帐页面选择付款方式,而不是购物车页面。这有点复杂。也许你得换一种方式重新思考……对不起。我的意思是,我的优惠券设置为仅在支票和信用卡支付选项上可用,并在选择PayPal时取消应用。在购物车页面上,似乎没有选择默认付款选项。希望这能澄清一些事情是的,现在已经非常清楚了…thanksI在阅读了这篇问答之后写了一个插件:我在阅读了这篇问答之后写了一个插件: