Erhalten Sie Produkt-IDs, während Sie den Hook „woocommerce_payment_complete“ verwenden

Lesezeit: 1 Minute

Benutzer-Avatar
Bohdan Noone182 Kulchitskyi

Meine Hooks befinden sich im Themenordner/functions.php

Ich möchte einen Krawattenhaken mit Produkt-ID aus der Bestellung.

Versuchen Sie diese Methode, aber sie geben nichts zurück.

$product->get_id()
or
$product = wc_get_product( $product_id );

Vollständiger Code

add_action( 'woocommerce_payment_complete', 'so_payment_complete' );
function so_payment_complete($order_id)
{
    $order = wc_get_order($order_id);
    $billingEmail = $order->billing_email;
    $billingName = $order->billing_first_name;
    $product_id = $order->product_id;

    if ($product_id == 980) {
       ......
    }

Wenn Sie die Version Woocommerce 3.0+ verwenden, sollte es diese sein.

Ich habe die Antwort mit diesem Link gefunden: https://wordpress.stackexchange.com/questions/97176/get-product-id-from-order-id-in-woocommerce

In einer Bestellung können mehrere Produkte enthalten sein, Sie müssen sie also durchlaufen. In deinem Code würde das so aussehen:

add_action( 'woocommerce_payment_complete', 'so_payment_complete' );
function so_payment_complete($order_id)
{
    $order = wc_get_order($order_id);
    $billingEmail = $order->billing_email;
    $billingName = $order->billing_first_name;

    $items = $order->get_items();

    foreach ( $items as $item ) {
        $product_name = $item->get_name();
        $product_id = $item->get_product_id();
        $product_variation_id = $item->get_variation_id();
        if ($product_id == 980) {
            // ....
        }
    }
}

1016390cookie-checkErhalten Sie Produkt-IDs, während Sie den Hook „woocommerce_payment_complete“ verwenden

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

Privacy policy