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

Sha*_*aun 11 wordpress paypal woocommerce

我正在尝试将另一个PayPal电子邮件地址添加到Woocommerce中,如果客户属于某个角色,在这种情况下是批发客户.默认情况下,Woocommerce只允许您设置一个PayPal帐户,但我能够找到woocommerce_paypal_args函数来更改发送到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;
}
Run Code Online (Sandbox Code Playgroud)

Nic*_*ski 2

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