Get the customer ID from an order ID in WooCommerce

前端 未结 2 1753
粉色の甜心
粉色の甜心 2020-12-31 17:51

I want to get the \"mycred\" balance of a customer through the order while using WP ALL Export to export the customer balance based on orders to a spreadsheet. It\'s actuall

相关标签:
2条回答
  • 2020-12-31 18:16

    For those who want to specifically add the customer mycred balance from an ORDER into the CSV sheet within WP All Export here is the bit of code I used. Thank you for your help getting it solved.

    While editing an ORDER export in WP ALL EXPORT, add a new data object and click on it and "Export the value returned by a PHP function" then add the following function in the code editor:

    function all_export_mycred($balance)
    {
        global $woocommerce, $post;
    
        $order = new WC_Order($post->ID);
        $user_id = $order->get_user_id( );
    
        $balance = mycred_get_users_balance( $user_id );
    
                return $balance;
    
        }
    

    Then make sure to add the "all_export_mycred" to the php return field.

    0 讨论(0)
  • 2020-12-31 18:32

    To get the User ID from the Order ID, you can use many ways, Here are 2 of them: In WooCommerce 3.0+ you can use WC_Order Class methods this way:

    function get_customerorderid(){
        global $order, $post;
    
        if( ! is_a($order, 'WC_Order') ) {
            $order_id = $post->ID;
    
            // Get an instance of the WC_Order object
            $order = wc_get_order($order_id);
        } else {
            $order_id = $order->id;
        }
    
        // Get the user ID from WC_Order methods
        $user_id = $order->get_user_id(); // or $order->get_customer_id();
    
        return $user_id;
    }
    

    Before WooCommerce 3.0 version, you can use get_post_meta() function this way:

    function get_customerorderid(){
        global $order, $post;
    
        if( ! is_a($order, 'WC_Order') ) {
            $order_id = $post->ID;
        } else {
            $order_id = $order->id;
        }
    
        // Get the user ID
        $user_id = get_post_meta($order_id, '_customer_user', true);
    
        return $user_id;
    }
    
    0 讨论(0)
提交回复
热议问题