Woocommerce 按用户订单总数更改角色

亚历克斯·帕恩

我对自动更改用户角色的 php 实现有问题。所以我有自定义角色dovclient第一次订购的用户获得角色Customer

如果他购买了总计 500 美元的产品,我需要更改用户角色。

所以我有一个功能

function wpa_120656_convert_paying_customer( $order_id ) {

  $order = new WC_Order( $order_id );

    $user_id = $order->user_id;

    $customer_orders = get_posts( array(
      'numberposts' => -1,
        'meta_key'    => '_customer_user',
      'meta_value'  => $user_id,
        'post_type'   => 'shop_order',
    ) );

    $total = 0;
    foreach ( $customer_orders as $customer_order ) {
        $order = wc_get_order( $customer_order );
        $total += $order->get_total();
    }

    return $total;

    if ( $total > 500 ) {
       update_user_meta( $order->user_id, 'paying_customer', 1 );
        $user = new WP_User( $order->user_id );


        $user->remove_role( 'customer' ); 


       $user->add_role( 'dovclient10' );
    }
}
add_action( 'woocommerce_order_status_completed', 'wpa_120656_convert_paying_customer' );

我知道,那$customer_orders是在计数,我通过订单计数使功能正常工作。我的意思是,如果$customer_orders > 2例如,那么改变角色。

但是对于总订单价格,我有一个问题。角色变化不大。我不知道为什么。也许问题出在foreach...

请帮我!

亚历克斯·帕恩

惊人的帮助!0……好吧。我已经做了。

function wpa_120656_convert_paying_customer( $order_id ) {

  $order = new WC_Order( $order_id );

    $user_id = $order->user_id;

    $customer_orders = get_posts( array(
      'numberposts' => -1,
        'meta_key'    => '_customer_user',
      'meta_value'  => $user_id,
        'post_type'   => 'shop_order',
    ) );

    $totall = 0;
    foreach ( $customer_orders as $customer_order ) {
    $order      = wc_get_order( $customer_order );
    $totall += $order->get_total();
    }

    if ( $totall > 500 ) {
        update_user_meta( $order->user_id, 'paying_customer', 1 );
       $user = new WP_User( $order->user_id );

        if( get_role('customer') ){
             $user->remove_role( 'customer' ); 
             $user->add_role( 'dovclient' );
        }
   }
}
add_action( 'woocommerce_order_status_completed', 'wpa_120656_convert_paying_customer' );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基于用户角色的Woocommerce最低订单总数

来自分类Dev

在结帐时根据WooCommerce中的用户角色和购物车总数更改订单按钮文本

来自分类Dev

Woocommerce:完成订单后更改用户角色

来自分类Dev

限制用户角色仅更改 Woocommerce 中的某些订单状态

来自分类Dev

WooCommerce获得订单总数

来自分类Dev

WooCommerce商店货币按用户角色

来自分类Dev

根据WooCommerce中的订单总数更改PayPal地址

来自分类Dev

Woocommerce 在购买时更改用户角色

来自分类Dev

使用 WooCommerce 订单转换状态挂钩添加用户角色

来自分类Dev

如何在woocommerce中按日期获取用户订单?

来自分类Dev

根据WooCommerce订单中的用户角色显示自定义税收总计行

来自分类Dev

按类别设置最小订单量(Woocommerce)

来自分类Dev

WooCommerce最低订单-用户帐户例外

来自分类Dev

WooCommerce-在一段时间内按用户获取完成的状态订单

来自分类Dev

Woocommerce-结帐页面上的订单审核总数未刷新

来自分类Dev

WooCommerce订单状态从付款网关更改

来自分类Dev

WooCommerce更改订单状态BACS处理

来自分类Dev

更改WooCommerce订单付款页面标题

来自分类Dev

更改重复项目的WooCommerce订单的状态

来自分类Dev

如何更改woocommerce订单表中的消息

来自分类Dev

在 WooCommerce 订单列表中更改发货

来自分类Dev

根据运输方式更改 Woocommerce 订单状态

来自分类Dev

Woocommerce 更改订单收到的页面标题

来自分类Dev

Woocommerce隐藏用户角色的支付网关

来自分类Dev

WooCommerce订单页面添加客户角色自定义列

来自分类Dev

Woocommerce 按用户按发票付款

来自分类Dev

Woocommerce挂钩以更新订单

来自分类Dev

恢复woocommerce订单

来自分类Dev

Woocommerce获取订单密钥

Related 相关文章

热门标签

归档