微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何动态更改Woocommerce中的PayPal地址?

我正在尝试更改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'] = 'paypalemail@domain.com';
    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'] = 'paypalemail1@domain.com';
             break;
           case 562:
             $paypal_args['business'] = 'paypalemail2@domain.com';
             break;
       }
    }

    return $paypal_args;
}

请注意,您必须确保购物车上只能有一件商品.如果购物车中有多于1个产品,则将使用foreach循环中最后找到的产品.以上代码仅供参考,请相应更改.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐