Holen Sie sich Produkte der letzten Bestellung des Kunden in WooCommerce

Lesezeit: 2 Minuten

Benutzer-Avatar
Jaro Oka

Ich möchte die Daten der Produkte des letzten Einkaufs bzw. des letzten Einkaufs des Kunden erhalten.

Derzeit habe ich dies, aber die Ergebnisse des Arrays geben mir die eines zufälligen Kaufs, es gibt mir nicht einmal die Daten eines abgeschlossenen Kaufs. Es gibt mir die Details eines zurückgestellten Kaufs, ich brauche hier ein wenig Hilfe.

Hier ist der Code:

// Get the current user Object
$current_user = wp_get_current_user();

// Check if the user is valid
if (0 == $current_user->ID) return;

//Create $args array
$args = array(
    'numberposts' => 1,
    'meta_key' => '_customer_user',
    'meta_value' => $current_user->ID,
    'orderby' => 'date',
    'order' => 'DESC',
    'post_type' => wc_get_order_types(),
    'post_status' => array_keys(wc_get_is_paid_statuses()),
);

// Pass the $args to get_posts() function
$customer_orders = get_posts($args);

// loop through the orders and return the IDs
if (!$customer_orders) return;
$product_ids = array();
foreach ($customer_orders as $customer_order) {
    $order = wc_get_order($customer_order->ID);
    $items = $order->get_items();
    foreach ($items as $item) {
        $product_id = $item->get_product_id();
        $product_ids[] = $product_id;
    }
}
echo '<pre>';
var_dump($product_ids);
echo '</pre>';

Benutzer-Avatar
7uc1f3r

Sie können verwenden wc_get_customer_last_order( $user_id ) um Informationen über die letzte Bestellung des Kunden zu erhalten.

Sie erhalten also:

// For logged in users only
if ( is_user_logged_in() ) {

    // The current user ID
    $user_id = get_current_user_id();

    // Get the last WC_Order Object instance from current customer
    $last_order = wc_get_customer_last_order( $user_id );

    // NOT empty
    if ( ! empty( $last_order ) ) {
        // Initalize
        $product_ids = array();

        // Loop
        foreach ( $last_order->get_items() as $item ) {
            // Get product ID
            $product_id = $item->get_product_id();
            $product_ids[] = $product_id;
        }

        echo '<pre>';
        var_dump( $product_ids );
        echo '</pre>';
    }
}

Verwandte: So zeigen Sie das zuletzt bestellte Produkt in WooCommerce über einen Shortcode an

  • So einfach ist das, danke guter Mann.

    – Jaro Oka

    16. März um 17:33 Uhr


1017990cookie-checkHolen Sie sich Produkte der letzten Bestellung des Kunden in WooCommerce

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

Privacy policy