Получить идентификатор автора каждого продукта в корзине Woocommerce - PullRequest
0 голосов
/ 22 мая 2018

В woocommerce мне нужно получить идентификатор пользователя для каждого продукта в корзине. Идентификатор пользователя не от покупателя, а пользователь, который создал и опубликовал продукт, который в данный момент находится в корзине (сообщение автора).

У меня есть этот код, который я получил здесь: WooCommerce Получить заказ Информация о продукте до оплаты в плагине

код, доступный для: @ LoicTheAztec

foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ){
    $product_id = $cart_item['product_id']; // Product ID
    $product_obj = wc_get_product($product_id); // Product Object
    $product_qty = $cart_item['quantity']; // Product quantity
    $product_price = $cart_item['data']->price; // Product price
    $product_total_stock = $cart_item['data']->total_stock; // Product stock
    $product_type = $cart_item['data']->product_type; // Product type
    $product_name = $cart_item['data']->post->post_title; // Product Title (Name)
    $product_slug = $cart_item['data']->post->post_name; // Product Slug
    $product_description = $cart_item['data']->post->post_content; // Product description
    $product_excerpt = $cart_item['data']->post->post_excerpt; // Product short description
    $product_post_type = $cart_item['data']->post->post_type; // Product post type

    $cart_line_total = $cart_item['line_total']; // Cart item line total
    $cart_line_tax = $cart_item['line_tax']; // Cart item line tax total
    $cart_line_subtotal = $cart_item['line_subtotal']; // Cart item line subtotal
    $cart_line_subtotal_tax = $cart_item['line_subtotal_tax']; // Cart item line tax subtotal

    // variable products
    $variation_id = $cart_item['variation_id']; // Product Variation ID
    if($variation_id != 0){
        $product_variation_obj = wc_get_product($variation_id); // Product variation Object
        $variation_array = $cart_item['variation']; // variation attributes + values
    }
}

Это прекрасно, но мне также нужно получить ID автора сообщения

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте следующее, чтобы получить автора сообщения из продукта (элемент корзины):

// For all Woocommerce versions
foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ){
    $post_obj    = get_post( $cart_item['product_id'] ); // The WP_Post object
    $post_author = $post_obj->post_author; // <=== The post author ID
}

Я получил обновление по связанному ответу на ваш вопрос (поскольку он не был совместим с версиями Woocommerce)3 +)

Для Woocommerce до версии 3 (например, 2.6.x) вы можете использовать:

foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ){
    $authror_id = $cart_item['data']->post->post_author; // <=== The post author ID
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...