我正在尝试更改 Woocommerce 使用的 PayPal 地址,具体取决于它们所在的页面。我目前只有 5 个产品,所有 5 个产品都需要使用不同的 PayPal 地址。
我发现这个钩子可以更改 Paypal 地址,尽管不太确定如何准确添加它(代码显然已经有 3 年历史了)。
$paypal_args = apply_filters( 'woocommerce_paypal_args', $paypal_args );
add_filter( 'woocommerce_paypal_args' , 'custom_override_paypal_email' );
function custom_override_paypal_email( $paypal_args ) {
$paypal_args['business'] = '[email protected]';
print_r( $paypal_args['business'] );
return $paypal_args;
}
如何使用此挂钩根据用户所在的页面/产品来更改 Paypal 地址?
我检查过并发现woocommerce_paypal_args
有两个参数,设置和顺序。因此,根据订单,我们可以检查它有什么产品并使用适当的电子邮件。
add_filter( 'woocommerce_paypal_args' , 'custom_override_paypal_email', 10, 2 );
function custom_override_paypal_email( $paypal_args, $order ) {
foreach ( $order->get_items() as $item ) {
switch( $item['product_id'] ) {
case 561:
$paypal_args['business'] = '[email protected]';
break;
case 562:
$paypal_args['business'] = '[email protected]';
break;
}
}
return $paypal_args;
}
请注意,您必须确保购物车上只能有一件商品。如果购物车中有超过 1 个产品,则将使用最后找到的产品foreach
环形。以上代码仅供参考,请进行相应更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)