Überprüfen Sie, ob eine Bestellung eine Rückerstattung in Woocommerce 3 enthält

Lesezeit: 1 Minute

Benutzeravatar von xDrago
xDrago

Ist es möglich, eine Bestellung programmatisch zu überprüfen, ob sie eine Rückerstattung enthält?

Ich möchte einen bestimmten Text anzeigen, wenn dies der Fall ist. Bisher überprüfe ich, ob es abgesagt wurde:

if($order->has_status('cancelled') echo "display text";

Da sich der Bestellstatus jedoch nicht ändert, wenn nur ein einzelner Artikel in einer Bestellung mit mehreren Artikeln erstattet wird, kann ich mir nicht vorstellen, wie das geht.

Irgendeine Idee?

Sie können die Methode WC_Order verwenden get_refunds() wie:

if( sizeof( $order->get_refunds() ) > 0 ) {
    printf( 'Order id %s has some refund', $order->get_id() ); 
}

Oder als benutzerdefinierte bedingte Funktion:

function has_refunds( $order ) {
    return sizeof( $order->get_refunds() ) > 0 ? true : false;
}

Verwendungszweck:

if( has_refunds( $order ) ) {
   // Do something
}

Verwandter Antwort-Thread: Erhalten Sie erstattete Bestellungen und Details zu erstatteten Bestellartikeln in Woocommerce 3

1426400cookie-checkÜberprüfen Sie, ob eine Bestellung eine Rückerstattung in Woocommerce 3 enthält

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

Privacy policy