Обновление позиций с помощью кода в WooCommerce

Я пытаюсь создать интерфейс, в котором я могу редактировать некоторые метаданные, прикрепленные к элементу строки. Я попытался использовать update_post_meta () для самой позиции, однако это возвращает bool (false). Как я могу обновить метаданные позиции вручную?

Спасибо!

0

Решение

так что мне удалось понять это. Я написал небольшую функцию ниже. Итак, все, что вам нужно сделать, это загрузить заказ с помощью API, проанализировать каждую позицию и вы можете вызвать wc_update_order_item_meta. Единственное, вам нужно знать идентификатор варианта продаваемого товара, если вы хотите обновить только конкретный товар.

function update_order_item_meta($orderID, $variationID, $metaID, $metaValue) {
$order = returnWC_API()->get_order($orderID)->{'order'};
if(!$order) {
return false;
}
if($variationID == "all") {
foreach ($order->{'line_items'} as $line_item) {
if(!wc_update_order_item_meta($line_item->{'id'}, $metaID, $metaValue)) {
return false;
}
}
return true;
}

foreach ($order->{'line_items'} as $line_item) {
if($line_item->{'product_id'} == $variationID) {
return wc_update_order_item_meta($line_item->{'id'}, $metaID, $metaValue);
}
}

}

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]