So erhalten Sie die Produkt-SKU von Bestellartikeln in Woocommerce [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
Александра Кузнецова

Für Api auf der Seite „woocommerce_thankyou“ muss die SKU abgerufen werden. Ich habe:

$order = wc_get_order( $order_id ); 
foreach ($order->get_items() as $item_key => $item_values):
   $product = new WC_Product($item_id);
   $item_sku[] = $product->get_sku();
endforeach;

Aber funktioniert nicht.

  • Was genau funktioniert nicht? Was ist das Verhalten/die Fehlermeldung, die Sie stattdessen sehen?

    – Samuel Dion-Girardeau

    10. Juni 2018 um 2:39 Uhr

  • Es gibt keine Fehler, aber aus irgendeinem Grund wird diese Variable nicht auf der Seite angezeigt.

    – Александра Кузнецова

    10. Juni 2018 um 5:24 Uhr

Benutzer-Avatar
Björn

Ich glaube, du fummelst an der eigentlichen Vorlagenseite herum 😉 In WordPress verwenden wir hauptsächlich Aktionshaken um solche Aufgaben zu erfüllen.

Versuchen Sie dies, platzieren Sie es im (untergeordneten) Thema functions.php.

HINWEIS: nur für WooCommerce 3+

add_action( 'woocommerce_thankyou', 'order_created_get_skus', 10 );

function order_created_get_skus($order_id){

  $item_sku = array();
  $order = wc_get_order( $order_id ); 

  foreach ($order->get_items() as $item) {
    $product = wc_get_product($item->get_product_id());
    $item_sku[] = $product->get_sku();
  }

  // now do something with the sku array 

}

Gruß, Björn

  • Vielen Dank! Es scheint, dass die Linie new WC_Product($item_id) ist obsolet. Verknüpfung. Und ich versuche, diese Variable auf diese Weise für eine Seite zu überprüfen – print_r( $item_sku );

    – Александра Кузнецова

    10. Juni 2018 um 5:22 Uhr

  • Ja, tut mir leid, mein Code war nicht korrekt. Ich habe meine Antwort mit korrekten Funktionen für WOO 3+ aktualisiert

    – Björn

    10. Juni 2018 um 5:49 Uhr

  • Ich habe überprüft, ob der Code funktioniert. Ich danke dir sehr!

    – Александра Кузнецова

    10. Juni 2018 um 6:36 Uhr

  • Eine Anmerkung zum Hinzufügen: Dies schlägt fehl, wenn das betreffende Produkt gelöscht wurde, nachdem die Bestellung erstellt wurde, da $product false zurückgibt und get_sku einen schwerwiegenden Fehler auslöst. Ein etwas einfacherer Weg, dies zu tun: $item->get_product()->get_sku();

    – passatgt

    25. Mai 2019 um 19:48 Uhr


1355470cookie-checkSo erhalten Sie die Produkt-SKU von Bestellartikeln in Woocommerce [duplicate]

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

Privacy policy