Получите только название родительского продукта woocommerce

#woocommerce

Вопрос:

Я использую эту функцию, чтобы получить название продукта и вернуть его в коротком коде:

 public function getProducts() {
        $items =  $this->order->get_items();
        $product = chr(10);
        if(!empty($items)) {
            foreach ($items as $item) {
                $product_item = $item->get_product();
                if ($product_item) {
                    $product =  $item['name'];
                    
                }
            }
        }
        $return['{products}'] = $product;
 

в случае продукта с вариациями я получаю:

 parent name - variation name  (eg: shirt - black) 
 

но я хотел бы получить только имя родителя.

Как я могу это решить?

Ответ №1:

Это должно вернуть название продукта:

 $product_item->get_name();
 

Ответ №2:

Вы должны проверить, является ли продукт вариацией, и если да, то получите родительский продукт. Тогда вы сможете узнать имя.

 if ($product_item->is_type('variable')) {
  $parent_product = wc_get_product($product_item->get_parent_id());
  $product = $parent_product->get_name();
}
 

Комментарии:

1. Привет, Джейсон, спасибо, все верно 🙂

2. Не могли бы вы отметить ответ как принятый? Спасибо