如果您只更改订单状态,则不需要更新任何其他表。请注意,您也可以在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