2016-01-13 3 views
0

Я пытаюсь настроить шаблон электронной почты для WooCommerce, и мы используем плагин для бронирования WooCommerce. Я пытаюсь отобразить атрибуты в письме, но у меня возникают трудности с этим.Код заказа электронной почты WooCommerce

Я пытался использовать get_the_terms($product->ID,'pa_attribute'), но он не работает. Я думаю, это потому, что шаблон электронной почты не может получить идентификатор продукта. Единственный идентификатор, который выводит для меня, - это $order->ID, который на самом деле не нужен мне.

Как я могу получить идентификатор продукта ресурса заказа в WooCommerce?

+0

Если объект $ product недоступен шаблону электронной почты, вам необходимо выяснить способ передачи данных в шаблон от вызывающего. Существует ли какой-либо массив (или другая структура) переменных для шаблона? –

+0

Если у вас есть идентификатор заказа, вы можете получить объект заказа. '$ order = wc_get_order ($ order_id);' Если у вас есть объект заказа, вы можете получить массив всех продуктов, купленных с помощью '' $ order-> get_items() ') (https://github.com/ woothemes/woocommerce/blob/master/includes/abstracts/abstract-wc-order.php # L1118-L1150). – helgatheviking

+0

@helgatheviking Спасибо. Я получил значения массива, возвращаемые для '$ order-> get_items()'. Теперь моя проблема: как мне получить определенное значение из массива? Это похоже на массив внутри массива внутри массива. Извините, но я новичок на PHP. Array возвращает что-то вроде этого: 'Array ([16] => Array ([name] => somename))' Я пробовал делать var_dump ($ output [0] ['name']) ;, но он просто возвращает NULL. –

ответ

0

Уточнено. Благодаря @helgatheviking. Вот мой код.

`$order = wc_get_order($order->id); $order = $order->get_items(); $productid = $orderdd[16]["product_id"]; $attdata = wp_get_post_terms($productid,'pa_attributeslug'); foreach ($attdata as $data) { echo $data->name;}` 
Смежные вопросы