Доступ и отображение метаданных позиции заказа в Woocommerce - PullRequest
0 голосов
/ 15 марта 2019

В Woocommerce я пытаюсь отобразить результаты объекта позиции заказа и получить к нему доступ:

$product_meta = $item->get_meta_data();
print_r ($product_meta);

Это то, что я пытаюсь получить:

enter image description here

РЕДАКТИРОВАТЬ: Это вывод, который я получаю, используя $item->get_formatted_meta_data( '', true ):

enter image description here

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Все, что я сделал, это поместил это wc_display_item_meta( $item );

и все, автоматически извлекает информацию !!!!!!!Администратор может изменить их на экране порядка редактирования на что угодно, и они появятся (спасибо @LoicTheAztec за указание на правильное направление

enter image description here

0 голосов
/ 15 марта 2019

Чтобы получить все метаданные элемента заказа , вы будете использовать WC_Order_Item get_formatted_meta_data() метод с конкретными аргументами, таким образом:

<code>// Accessible non protected Order item meta data
$item_meta_data = $item->get_formatted_meta_data( '', true );

// Formatted raw Output
echo '<pre>'; print_r($item_meta_data); echo '
';

Чтобы получить доступ к некоторым свойствам позиции заказа, вы можете использовать любой WC_Order_Item_Product метод , например:

$item->get_product(); // Get the WC_Product object

$item->get_product_id(); // Get the Product ID

$item->get_variation_id(); // Get the Variation ID

$item->get_name(); // Get the Product name

$item->get_quantity(); // Get the item quantity 

// and so on …

Тогда, если вам нужен доступ к определенное "пользовательское" значение данных элемента заказа, вы будете использовать WC_Data get_meta() метод :

$custom_value = $item->get_meta("_custom_key");

См .: Получить элементы заказа и WC_Order_Item_Product вWoocommerce 3


Обновление (отображение необходимых метаданных элемента пользовательского заказа)

Доступ к нужным вам данными отображается так:

if( $lessons = $item->get_meta('lessons') ) {
    echo '<p>Lessons: '.$lessons.'</p>';
}

if( $tour_guide = $item->get_meta('tour guide') ) {
    echo '<p>Tour Guide: '.$tour_guide.'</p>';
}

Я надеюсь, что это работает сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...