首页 文章

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

提问于
浏览
1

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

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

问题在这里,我不知道在哪里“挂钩”它,所以只要选择了另一个选项,它就会自动更新 . 说:它得到更新如果客户选择“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_payment_method”的钩子

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

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

如果选择了paypal,它会在结账时覆盖paypal地址,如果选择了Bank-Transfer,它会覆盖Bank数据,依此类推 .

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

1 回答

  • 0

    好吧,我做到了 . 一切都像预期的那样工作!只是写下这样没有人浪费时间回答,我明天会发布解决方案,只想今天完成 .

相关问题