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
暂无评论内容