wake-up-neo.net

Rufen Sie die Kundennummer aus einer Bestellnummer in WooCommerce ab

Ich möchte den "mycred" -Saldo eines Kunden durch die Bestellung erhalten, während Sie mit WP ALL Export den Kundensaldo basierend auf Bestellungen in eine Kalkulationstabelle exportieren. Es ist wahrscheinlich ziemlich einfach. Ich kann die Auftrags-ID erhalten, nicht jedoch die Kundennummer

So teste ich, ob ich die Kundennummer erhalten kann:

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;
}

Dies gibt eine 0 zurück.

Ich kann die Bestellnummer jedoch leicht genug erhalten:

function get_customerorderid($value)
{
  global $woocommerce, $post;

  $order = new WC_Order($post->ID);
  $order_id = $order->get_order_number();

  $value = $order_id;
  return $value;
}

Dies gibt die Bestellnummer des Kunden zurück, was großartig ist, aber nur die halbe Miete. Ich möchte nun die Kundennummer, also rufe ich die mycred-Balance-Funktion an, um ihren Stand anzuzeigen.

Irgendwelche Ideen? Ich bin ein Neuling bei php und wahrscheinlich sehr schlecht.

4
Fluke Fox

Sie können die Bestellnummer verwenden, um die entsprechende Kundennummer mithilfe einer Datenbankabfrage (google wordpress) zu erhalten

0
K. Tromp

Um die Benutzer-ID aus der Bestell-ID zu erhalten, können Sie viele Möglichkeiten verwenden. Hier sind 2 davon:

In WooCommerce 2.5 bis 3.0+ können Sie die Funktion get_post_meta() folgendermaßen verwenden:

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;
}

In WooCommerce 3.0+ können Sie die Klasse WC_Order-Methoden so verwenden:

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;
}
18
LoicTheAztec

Für alle, die den Kunden mycred balance aus einer BESTELLUNG in die CSV-Tabelle innerhalb von WP hinzufügen möchten. Alle Exporte hier ist der Code, den ich verwendet habe.

Fügen Sie während der Bearbeitung eines ORDER-Exports in WP ALL EXPORT ein neues Datenobjekt hinzu, klicken Sie darauf und " Exportiert den von einer PHP - Funktion zurückgegebenen Wert " und fügt dann die folgende Funktion in den Code ein 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;

    }

Stellen Sie dann sicher, dass Sie "all_export_mycred" zum Rückgabefeld von PHP hinzufügen.

5
Fluke Fox