Wordpress 使用产品id从woocommerce产品获取slug

Wordpress 使用产品id从woocommerce产品获取slug,wordpress,Wordpress,我想在当前用户的商业订单/购买中获得每个产品的slug。 我采取的步骤 1.我获取了当前用户的订单 2.然后我从订单中获取项目/产品 $args = array( 'customer_id' => $user->ID 'status' => 'completed' ); //getting the orders $orders = wc_get_orders($args); $orderInfo = [ 'id' => [], 'name' =>

我想在当前用户的商业订单/购买中获得每个产品的slug。

我采取的步骤

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() );
  }
}
获取产品后,我可以获得产品id和名称。但是当使用$item->get_slug时,我遇到了这个错误

致命错误:未捕获错误:调用未定义的方法 WC_订单_项目_产品::get_slug()

我做错了什么?

你应该试试这个

$product = get_post( $item->get_product_id() );
$slug = $product->post_name;
array_push( $orderInfo['slug'], $slug );

现在面临此错误:-致命错误:未捕获错误:无法访问受保护的属性WC\u Order\u Item\u Product::$id