如果选择了特定的支付选项,则覆盖支付接收方(woocommerce / php)

时间:2015-02-02 15:10:09

标签: php wordpress paypal woocommerce

我真的对此问题感到头痛,只是无法弄清楚它是如何完成的。

我需要检查客户选择了哪种付款方式。

问题在这里,我不知道在哪里"勾"因此,只要选择了其他选项,它就会自动更新。 说:它得到更新如果客户选择" Paypal"而不是预先选择的选项"银行转帐"。

使用以下代码,我可以打印出选定的付款选项,bacs(银行转帐),但它是标准的(在页面加载时预先选择),如果我选择它不会改变paypal或其他付款方式。

add_filter( 'woocommerce_available_payment_gateways', 'filter_gateways', 1);
function filter_gateways( $gateways ){
  global $woocommerce;

 $chosen_gateway = $woocommerce->session->chosen_payment_method;
 if ( $chosen_gateway == 'bacs' ) {
  echo $chosen_gateway;
 }


  return $gateways;

}

然而,我想我只是不明白钩子或某事。如果我点击" paypal"此代码将不会更新而不是" bacs"。 它显示" bacs"在页面加载,不会改变。

我知道原因,它是在" woocommerce_available_payment_gateways"因为我设法禁用购物车中特定产品的付款方式。

但我无法找到" after_selected_pa​​yment_method"

对不起,如果我的文字不够清楚,只是为了告诉你我想用完成的代码实现的目标:

首先它应该检查选定的付款方式(Paypal,Bacs,..) 在此之后,它比较数据库中的字符串条目(名称)的数量。 它选择(在此示例中)用户的paypal地址,该用户的名称更频繁地出现在数据库中。如果相等,则使其随机。如果存在很大差异,可以说4个条目到20个,对于有20个条目的用户,选择的机会更高。

如果选择了paypal,它会在结账时覆盖paypal地址,如果选择了Bank-Transfer,它会覆盖银行数据,等等。

我希望你明白我的意思。 如果有人能帮助我,我真的很感激。谢谢!

1 个答案:

答案 0 :(得分:0)

嗯,我做到了。一切都像预期的那样工作!只写那么没有人浪费时间回答问题,我明天会发布解决方案,只想今天完成。