Я пытаюсь создать интерфейс, в котором я могу редактировать некоторые метаданные, прикрепленные к элементу строки. Я попытался использовать update_post_meta () для самой позиции, однако это возвращает bool (false). Как я могу обновить метаданные позиции вручную?
Спасибо!
так что мне удалось понять это. Я написал небольшую функцию ниже. Итак, все, что вам нужно сделать, это загрузить заказ с помощью 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);
}
}
}
Других решений пока нет …