0
我試圖製作一個界面,我可以在其中編輯一些附加到lineitem的元數據。我試過在訂單項本身上使用update_post_meta(),但是它返回bool(false)。如何手動更新訂單項元數據?通過WooCommerce中的代碼更新訂單項
謝謝!
我試圖製作一個界面,我可以在其中編輯一些附加到lineitem的元數據。我試過在訂單項本身上使用update_post_meta(),但是它返回bool(false)。如何手動更新訂單項元數據?通過WooCommerce中的代碼更新訂單項
謝謝!
所以我設法弄明白了。我寫了一個下面的小函數。因此,您只需使用API加載訂單,解析每個訂單項並調用wc_update_order_item_meta即可。唯一的是,如果您只想更新特定項目,您需要知道所銷售物品的變體ID。
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);
}
}
}
向我們展示一些代碼,你試過。 –
我真的設法弄清楚了。我會在這裏發佈我的解決方案。 – user2317084