Woocommerce实现按消费总额回馈用户

Woocommerce是一个完善的商城系统,我们能在此基础上实现一些功能,今天想到的是根据用户消费总额,给用户发放一个优惠券之类的,或者给用户一个标记,用来营销。

下面的代码是对用户进行处理,可以给用户发邮件、给用户发优惠券、设置用户标记等用以奖励用户:

function customer_total_function( $user_id ) {
	if ( wc_get_customer_total_spent( $user_id ) > 999.99
		$user = new WP_User( $user_id );
		//这里对用户进行处理
	}
}

不应该每次都执行一段检查,那样太浪费资源,增加服务器的负担。我们可以在订单发生改变时执行:

add_action( 'woocommerce_order_status_changed', function ( $order_id )
{
	$order               = wc_get_order( $order_id );
	$user_id             = $order->get_user_id();
	$order_status        = $order->get_status();
	$switch_already_done = $order->get_meta( '_wprs_role_switched' );

	if ( ! $switch_already_done && $order->has_status( wc_get_is_paid_statuses() ) && wc_user_has_role( $user_id, 'customer' ) ) {
		customer_total_function( $user_id );

		$order->update_meta_data( '_wprs_role_switched', 'true' );
		$order->save();
	}
} );
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情代码图片

    暂无评论内容