如果您只更改訂單狀態,則不需要更新任何其他表。請注意,您也可以在WordPress中實現這一點:
$args = array(
'post_type' => 'shop_order',
'posts_per_page' => -1,
'post_status' => 'wc-processing',
);
$orderList = get_posts($args);
foreach ($orderList as $orderPost) {
$order = new WC_Order($orderPost->ID);
$order->update_status('completed');
}
...雖然直接的SQL查詢幾乎肯定會在這種情況下更快。
此外,如果你想一旦他們已經支付了自動命令轉換爲completed
,您可以添加以下過濾器:
function myWooAutoCompleteOrder($orderID) {
// Only continue if we have $orderID
if (!$orderID) {
return;
}
// Get order
$order = wc_get_order($orderID);
// Update order to completed status
if ($order) {
$order->update_status('completed');
}
}
add_filter('woocommerce_thankyou', 'myWooAutoCompleteOrder');
你並不需要改變其他表...這個SQL查詢儘可能完美...然後[**這裏是自動完成付款訂單**的方式](https://stackoverflow.com/a/35689563/3730754)以避免再次發生這種情況。 – LoicTheAztec