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

标签 php wordpress paypal woocommerce

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

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

问题在这里,我不知道在哪里“ Hook ”它,所以只要选择另一个选项,它就会自行更新。
说:如果客户选择“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;

}

但是,我想我只是不了解钩子(Hook)或某事。如果我点击“paypal”而不是“bacs”,此代码将不会得到更新。
它在页面加载时显示“bacs”并且不会改变。

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

但我找不到“after_selected_pa​​yment_method”的钩子(Hook)

如果我的文字不够清楚,我很抱歉,只是为了告诉你我想用完成的代码实现什么:

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

如果选择了 Paypal ,它会在结帐时覆盖 Paypal 地址,如果选择了银行转账,它会覆盖银行数据等等。

我希望你明白我的意思。
如果有人可以帮助我,我将不胜感激。谢谢!

最佳答案

嗯,我做到了。一切都按预期工作!只是写了这样没有人浪费时间在答案上,我明天会发布解决方案,只是想在今天完成。

关于php - 如果选择了特定的付款选项(woocommerce/php),则覆盖付款接收方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28280737/

相关文章:

php - 如何查询此列以便仅获取上周内的条目

mysql - 获取受帖子类别限制的自定义字段值列表

mysql - 从数据库导入表

paypal - 将资金从商户账户转移到信用卡/借记卡持有人银行,可能使用 ACH

ruby-on-rails - RoR 提交对象以供批准,仅在批准后处理付款

Paypal 沙盒错误 : Cookies are blocked

PHP PDO 准备语句缓存

php - Laravel 5.2 + 上传文件并在数据库中保存名称

html - 管理移动网站和主网站的CMS

php - Joomla 3.5.1 session 冲突 - 已发送重复的 session header