【问题标题】:Change PayPal adress based on order total in WooCommerce根据 WooCommerce 中的订单总额更改 PayPal 地址
【发布时间】:2021-03-09 09:23:55
【问题描述】:

我正在寻找解决问题的方法。我想根据 WooCommerce 订单总额更改 PayPal 电子邮件。

所以,如果订单总额

  • 收件人 PayPal = paypalemail1@domain.com

其他

  • 收款人 PayPal = paypalemail2@domain.com

我试图在这里搜索,我发现的唯一代码是:

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;
}

但这里不是基于 WooCommerce 订单总数,而是基于用户角色。有什么方法可以个性化吗?

【问题讨论】:

    标签: php wordpress woocommerce paypal


    【解决方案1】:

    woocommerce_paypal_args 有两个参数,设置和$order 对象。所以根据订单,我们可以得到总数,并在此基础上更改电子邮件

    function filter_woocommerce_paypal_args( $paypal_args, $order ) {
        // Get total
        $order_total = $order->get_total();
        
        // Less then 10
        if ( $order_total < 10 ) {
            $paypal_args['business'] = 'paypalemail1@domain.com';
        } else {
            $paypal_args['business'] = 'paypalemail2@domain.com';       
        }
    
        return $paypal_args;
    }
    add_filter( 'woocommerce_paypal_args', 'filter_woocommerce_paypal_args', 10, 2 );
    

    【讨论】:

      猜你喜欢
      • 2021-05-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      • 2016-02-18
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多