Получить слаг от продукта woocommerce, используя идентификатор продукта - PullRequest
1 голос
/ 02 марта 2020

Я хочу получить порцию каждого продукта в заказе на woocommerce / покупку текущего пользователя.

Шаги, которые я предпринял

1 Я получил заказ текущего пользователя.

2. Затем я получаю товары / товары из заказа

$args = array(
    'customer_id' => $user->ID
    'status' => 'completed'
);
//getting the orders 
$orders = wc_get_orders($args);
$orderInfo = [
'id' => [],
'name' => [],
'slug' => []
];
foreach($orders as $order){
  foreach( $order->get_items() as $item_id => $item ){
    array_push( $orderInfo['id'], $item->get_product_id() );
    array_push( $orderInfo['name'], $item->get_name() );
    array_push( $orderInfo['slug'], $item->get_slug() );
  }
}

После получения товаров я могу получить идентификатор и имя продукта. Но при использовании $ item-> get_slug я сталкиваюсь с этой ошибкой.

Неустранимая ошибка: необработанная ошибка: вызов неопределенного метода WC_Order_Item_Product :: get_slug ()

Что я делаю не так?

1 Ответ

1 голос
/ 02 марта 2020

Вы должны попробовать это

$product = get_post( $item->get_product_id() );
$slug = $product->post_name;
array_push( $orderInfo['slug'], $slug );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...