Cách nhận thông tin sản phẩm đặt hàng Wooc Commerce


7

Tôi đang cố gắng để có được tất cả các đơn đặt hàng thương mại điện tử và tìm thông tin về các sản phẩm trong mỗi đơn hàng. Tôi đã thấy nhiều ví dụ ở đây và những nơi khác trên web và tất cả họ dường như nói để làm điều tương tự nhưng nó không hoạt động. Tôi đang dùng Wordpress 4.1.1 và Wooc Commerce 2.3.3 đây là mã của tôi:

$filters = array(
    'post_status' => 'any',
    'post_type' => 'shop_order',
    'posts_per_page' => 200,
    'paged' => 1,
    'orderby' =>'modified',
    'order' => 'ASC'
);

$loop = new WP_Query( $filters );

while ( $loop->have_posts() ) {
    $loop->the_post();
    $order = new WC_Order($loop->post->ID);

    foreach ($order->get_items() as $key => $lineItem) {
        print_r($lineItem);
    }
}

Vấn đề là khi tôi print_r($lineItem)chỉ có ba thuộc tính chỉ có hai thuộc tính được sử dụng. Một điển hình print_r($lineItem)như thế này:

Array ( 
    [name] => Fouta Towel  Pearl Grey & White Stripe 
    [type] => line_item 
    [item_meta] => 
)

Làm cách nào để tôi có được phần còn lại của thông tin về mặt hàng này, ví dụ: id sản phẩm, cho dù đó là sản phẩm đơn / biến, v.v.

Câu trả lời:


7

Đã thử mã của bạn và nó hoạt động tốt và còn nguyên vẹn, nó cũng đưa ra các chi tiết của từng sản phẩm trong đơn đặt hàng. Mã mà tôi đã thử

$filters = array(
    'post_status' => 'any',
    'post_type' => 'shop_order',
    'posts_per_page' => 200,
    'paged' => 1,
    'orderby' => 'modified',
    'order' => 'ASC'
);

$loop = new WP_Query($filters);

while ($loop->have_posts()) {
    $loop->the_post();
    $order = new WC_Order($loop->post->ID);

    foreach ($order->get_items() as $key => $lineItem) {

        //uncomment the following to see the full data
        //        echo '<pre>';
        //        print_r($lineItem);
        //        echo '</pre>';
        echo '<br>' . 'Product Name : ' . $lineItem['name'] . '<br>';
        echo 'Product ID : ' . $lineItem['product_id'] . '<br>';
        if ($lineItem['variation_id']) {
            echo 'Product Type : Variable Product' . '<br>';
        } else {
            echo 'Product Type : Simple Product' . '<br>';
        }
    }
}

Và đầu ra tôi nhận được từ cùng.

nhập mô tả hình ảnh ở đây

Hãy thử điều này và cho tôi biết làm thế nào nó hoạt động cho bạn


nó hoạt động nhưng nó tạo ra vấn đề khi tôi cố gắng sử dụng nó trong lớp .. và khi tôi truy cập nó, nó ném cho tôi Uncaught Exception: Lệnh không hợp lệ
Leditesh VM Villa

cũng $ loop-> the_post (); có bắt buộc không
Biệt thự Leditesh VM
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.