WP ALL Exportを使用して、注文に基づいて顧客の残高をスプレッドシートにエクスポートしている間、注文を通じて顧客の「mycred」残高を取得したい。注文IDは取得できますが、顧客IDは取得できません
お客様IDを取得できるかどうかをテストするために、次のことを行います。
function get_customeruserid($value)
{
global $woocommerce, $post;
$order = new WC_Order($post->ID);
$order_id = $order->get_order_number();
$customer = new WC_Customer($post->ID);
$user_id = $customer->get_ID();
$value = $user_id;
return $value;
}
これは0を返します。
ただし、次の方法で注文番号を簡単に取得できます。
function get_customerorderid($value)
{
global $woocommerce, $post;
$order = new WC_Order($post->ID);
$order_id = $order->get_order_number();
$value = $order_id;
return $value;
}
これは顧客の注文番号を返しますが、これは素晴らしいことですが、戦闘の半分に過ぎません。顧客IDが必要になったので、mycred balance関数を呼び出して残高を表示します。
何か案は?私はPHPの初心者であり、おそらく非常に悪いです。
注文IDからユーザーIDを取得するには、多くの方法を使用できます。次の2つがあります。
WooCommerce 2.5〜3.0+では、次のように get_post_meta()
関数を使用できます。
function get_customerorderid(){
global $post;
$order_id = $post->ID;
// Get the user ID
$user_id = get_post_meta($order_id, '_customer_user', true);
return $user_id;
}
WooCommerce 3.0以降では、 クラスWC_Orderメソッド を次のように使用できます。
function get_customerorderid(){
global $post;
$order_id = $post->ID;
// Get an instance of the WC_Order object
$order = wc_get_order($order_id);
// Get the user ID from WC_Order methods
$user_id = $order->get_user_id(); // or $order->get_customer_id();
return $user_id;
}
注文から顧客mycred balanceをWPここですべてのエクスポートは私が使用したコードの一部です。解決にご協力いただきありがとうございます。
WP ALL EXPORTでORDERエクスポートを編集中に、新しいデータオブジェクトを追加してクリックし、「Exported value by a PHP function "次に、コードエディターで次の関数を追加します。
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;
}
次に、必ず「all_export_mycred」をphp returnフィールドに追加してください。
注文番号を使用して、データベースクエリgoogle wordpress meta query