Woocommerce - 如果客户是某个角色,则设置另一个PayPal电子邮件地址

时间:2017-12-12 12:34:09

标签: wordpress paypal woocommerce

如果客户属于特定角色,我会尝试将另一个PayPal电子邮件地址添加到Woocommerce中,在这种情况下是批发客户。默认情况下,Woocommerce只允许您设置一个PayPal帐户,但我能够找到woocommerce_paypal_arg函数来更改发送给PayPal的参数。我可以看到业务领域负责保存付款发送到的电子邮件地址。

我已经获得了下面的代码,如果用户是wholesale_customer,则应该拦截此代码并进行更改。

问题是......这有多安全?有没有更好的方法来做我想要的?

add_filter( 'woocommerce_paypal_args', 'woocommerce_paypal_args', 10, 2 );
function woocommerce_paypal_args( $paypal_args, $order ) {

    //Get the customer ID
    $user_id = $order->get_user_id();

    // Get the user data
    $user_data = get_userdata( $customer_id );
    // Adding an additional recipient for a custom user role

    if ( in_array( 'wholesale_customer', $user_data->roles )  )
         $paypal_args['business'] = 'email@email.com';

    return $paypal_args;
}

1 个答案:

答案 0 :(得分:2)

我可以通过构建和修改WooCommerce网关的经验告诉您,这是使用您当前插件实现此目的的一种非常安全且合理的方式。那说...在编写if语句时使用一些括号...这不是python。