WooCommerce fügt Bestell-Admin-Hook für die Schaltfläche „Neu berechnen“ hinzu

Lesezeit: 3 Minuten

Benutzer-Avatar
Archvist

Ich möchte alle Produkte, die einer Bestellung im Admin hinzugefügt wurden, durchlaufen, bevor die Bestellung tatsächlich übermittelt wird. Bisher haben die einzigen WooCommerce-Hooks, die ich gefunden habe, nur den Zugriff auf die Produktelemente einzeln ermöglicht.

Ich suchte nach einem Haken, der ausgelöst wird, wenn ein Benutzer auf die Schaltfläche „Neu berechnen“ klickt, aber tatsächlich könnte er ausgelöst werden, wenn ein Benutzer ein Produkt, eine Steuer, eine Versandart usw. hinzufügt. Ich muss nur alle Artikel durchlaufen, die der Bestellung bisher hinzugefügt wurden .

Im Moment benutze ich woocommerce_admin_order_item_values Hook, aber es ist eine in sich geschlossene Schleife, sodass ich nicht alle meine ‘$item[‘product_id’]’ zusammen.

function action_woocommerce_admin_order_item_values( $null, $item, $absint ) { 
$item_ids = array($item['product_id']);
}
add_action( 'woocommerce_admin_order_item_values', 'action_woocommerce_admin_order_item_values', 10, 3 );

Sie können auch verwenden –
woocommerce_before_order_itemmeta Hook, aber dies greift nur einzeln auf jedes Element zu, während ich jedes Element in der Zusammenfassung durchlaufen muss.

Es gibt eine Reihe von Hooks, die von WooCommerce bereitgestellt werden, wenn Sie auf klicken Neu berechnen Taste. Ich liste hier diese Haken auf und es hängt von Ihnen ab, ob Sie unter ihnen entsprechend Ihren Anforderungen auswählen.

$order = WC_Order-Objekt

    add_action("woocommerce_order_before_calculate_taxes", "custom_order_before_calculate_taxes", 10, 2);
    function custom_order_before_calculate_taxes($args, $order) {
        // Do something
    }

    add_action("woocommerce_order_item_after_calculate_taxes", "custom_order_item_after_calculate_taxes", 10, 2);
    function custom_order_item_after_calculate_taxes($order, $calculate_tax_for) {
       // Do something
    }

    add_action("woocommerce_before_order_object_save", "custom_before_order_object_save", 10, 2);
    function custom_before_order_object_save($order, $data_store) {
      // Do something
    }

    add_action( 'woocommerce_order_before_calculate_totals', "custom_order_before_calculate_totals", 10, 2);
    function custom_order_before_calculate_totals($and_taxes, $order ) {
      // Do something
    }
    add_action( 'woocommerce_order_after_calculate_totals', "custom_order_after_calculate_totals", 10, 2);
    function custom_order_after_calculate_totals($and_taxes, $order) {
      //Do something
    }

    add_filter("woocommerce_order_is_vat_exempt", function(){
       return $boolean;
    });

    add_filter("woocommerce_order_get_total", "custom_order_get_total", 10, 2);
    function custom_order_get_total($value, $order) {
      //do somethig
      return $value;
    }

  • Hallo, danke für Ihre Antwort, keiner von ihnen hat Zugriff auf die Produkte oder Artikel, die der Bestellung hinzugefügt wurden. Geben Sie einfach den Status der Bestellung zurück, z. B. Währung, Versand, Zahlungsmethoden usw.

    – Archvist

    21. Juni 2019 um 12:44 Uhr

  • Sie möchten etwas tun, wenn Sie auf die Schaltfläche Neu berechnen klicken, richtig? Wenn ja, gibt es die einzigen Haken, die mit dieser Aktion verbunden sind. Diese enthalten alle ein Auftragsobjekt und Sie können alles damit machen. Wenn nicht, teilen Sie mir bitte die genaue Instanz mit, in der Sie einhaken möchten, und das Motto der Aktion.

    – Neeraj Krishna Maurya

    21. Juni 2019 um 13:05 Uhr

  • vergessen Sie nicht, dies hinzuzufügen if( did_action( '[FILTER_NAME]' ) >= 2 ) return; Endlosschleifen zu vermeiden.

    – vantian

    10. Juni 2020 um 14:06 Uhr

1136850cookie-checkWooCommerce fügt Bestell-Admin-Hook für die Schaltfläche „Neu berechnen“ hinzu

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

Privacy policy