通过 MySQL 根据订单项目 ID 更新 WooCommerce 订单状态

问题描述 投票:0回答:1

我尝试使用以下 SQL 查询根据订单项 ID 更新 WooCommerce 订单状态:

UPDATE wp_posts set post_status = 'wc-completed'
FROM wp_posts
LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id
LEFT JOIN wp_woocommerce_order_itemmeta ON wp_postmeta.post_id = wp_woocommerce_order_itemmeta.order_item_id
LEFT JOIN wp_woocommerce_order_items ON wp_posts.ID = wp_woocommerce_order_items.order_item_id
WHERE wp_posts.post_type = "shop_order" 
AND wp_woocommerce_order_items.order_item_id = 68792

但是它会抛出错误。我哪里错了?

sql mysql wordpress woocommerce mysqli
1个回答
0
投票

您的查询中有多个错误。

请注意,不需要表

wp_postmeta
wp_woocommerce_order_itemmeta
,并且还缺少需要更新的表
wp_wc_orders

尝试以下方法:

UPDATE wp_posts p
INNER JOIN wp_wc_orders o ON p.ID = o.id
INNER JOIN wp_woocommerce_order_items oi ON p.ID = oi.order_id
SET p.post_status = 'wc-completed', o.status = 'wc-completed'
WHERE p.post_type = 'shop_order' 
AND oi.order_item_id = 68792;

已测试且有效 (如果订单商品 ID

68792
存在).

© www.soinside.com 2019 - 2024. All rights reserved.