Erhalten Sie das Datum, an dem eine Bestellung auf Woocommerce bezahlt wurde

Lesezeit: 2 Minuten

Wie kann ich auf Woocommerce das Datum erfahren, an dem der Status einer Bestellung auf bezahlt/abgeschlossen geändert wurde?

Ich habe etwas über das Erhalten von Bestellungen von einem Kunden gesehen, aber dies wäre nur der erste Schritt meines Algorithmus. Dann müsste ich wissen, wann es sich geändert hat, um abzuschließen.

Die Idee ist, einen Mitgliederbereich zu erstellen: Eine Zahlung dauert 3 Monate. Also werde ich die Tage zählen, die seit dem Kauf vergangen sind

Etwas Verwandtes
https://www.skyverge.com/blog/get-all-woocommerce-orders-for-a-customer/

Und das ist es, was ich weiß, wenn ein Produkt vom Kunden gekauft wurde

if (wc_customer_bought_product($customer_email, $user_id,$loop->post->ID)){
            $courses[] = $this->find($loop->post->ID);
          }

Ich denke, du solltest nachsehen:

/mySite/wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-order.php

Es gibt eine __get-Funktion:

public function __get( $key ) {
        // Get values or default if not set.
        if ( 'completed_date' === $key ) {
            $value = ( $value = get_post_meta( $this->id, '_completed_date', true ) ) ? $value : $this->modified_date;
        } elseif ( 'user_id' === $key ) {
            $value = ( $value = get_post_meta( $this->id, '_customer_user', true ) ) ? absint( $value ) : '';
        } elseif ( 'status' === $key ) {
            $value = $this->get_status();
        } else {
            $value = get_post_meta( $this->id, '_' . $key, true );
        }

        return $value;
    }

Mein Verständnis ist also, dass, wenn Sie ‘completed date’ als Argument übergeben, das complete_date zurückgegeben wird.

Es gibt Ihnen auch einen Hinweis, wo dieses Datum ist, dh

get_post_meta

Naja, zumindest würde ich da ansetzen.

  • Sie müssen $key nicht übergeben … verwenden Sie es wie $order->completed_datees wird vorübergehen completed_date in __get wie $key

    – Reigel Gallarde

    25. März 2016 um 2:23 Uhr

  • Schwerwiegender PHP-Fehler: Uncaught Error: Call to undefined method WC_Order::completed_date()

    – Naomi

    10. Dezember 2019 um 10:55 Uhr

  • Sie können nicht direkt auf Eigenschaften auf dem letzten WooComm zugreifen

    – ein Coder

    16. Oktober 2021 um 9:29 Uhr

Der wahrscheinlich “richtigste” Weg ist:

$order = new WC_Order($order_id);
$date_obj = $order->get_date_paid();
echo $date_obj->date('d/m/Y'); 

Dies sollte zum Job auf dem letzten WP/WooCommerce passen.

$order = new WC_Order($sale_id);
echo $order->get_date_paid();

1300440cookie-checkErhalten Sie das Datum, an dem eine Bestellung auf Woocommerce bezahlt wurde

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy