php 我需要添加一个 meta_key到order_shop,标识客户是新的还是经常性的Woocommerce [已关闭]

z8dt9xmd  于 2022-12-10  发布在  PHP
关注(0)|答案(1)|浏览(118)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

3天前关闭。
Improve this question
我需要添加一个 meta_key到一个order_shop,以识别客户是新客户还是经常性客户,并且我需要在每次销售后自动完成此任务。

s3fp2yjn

s3fp2yjn1#

您可以从订单中获取用户ID,然后使用内置的WooCommerce函数wc_get_customer_order_count($user_id)来获取该用户的订单总数,而不是每次客户下订单时都检查并添加 meta密钥。如果它是1,那么您就知道这是一个新客户,其他任何客户都是重复客户。
如果你想在每次销售后完成这个操作,你可以使用钩子woocommerce_payment_complete。这个钩子获取传入的订单id。从那里你可以从订单中获取用户id,然后将用户id传入wc_get_customer_order_count($user_id)
您的代码可能类似于:

<?php
add_action('woocommerce_payment_complete', function($order_id){
    $order = wc_get_order($order_id);
    $customer_id = $order->get_user_id();
    $order_amount = wc_get_customer_order_count($customer_id);
    $new_customer_limit = 1;

    if($order_amount <= $new_customer_limit){
        // do stuff for new customer...
    } else {
        // do stuff for recurring customer...
    }
}, 10, 1);

相关问题