php - Woocommerce 将已删除的产品 ID 重新链接到现有订单的现有产品
问题描述
我有一个问题,由于插件重新同步和硬删除某些产品,某些完整的订单现在没有附加产品。这不是问题,因为我有替换产品,所以如果我可以在订单上修改这些已删除产品的产品 ID,它们应该链接到正确的详细信息。
到目前为止,我已经尝试将wp_wc_order_product_lookup
表中匹配订单 ID 的已删除产品 ID 修改为新的现有产品 ID。
但是,当我使用以下命令获得订单时:
$order = new WC_Order($order_id);
$invoice_items = $order->get_items()
foreach($invoice_items as $item_key => $item){
var_dump($item);
$product = $item->get_product();
}
$product
这里返回 false 并且 var_dump 显示项目数据的产品 ID 为 0
["data":protected]=>
array(11) {
["order_id"]=>
int(897)
["name"]=>
string(53) "Correct Course Name"
["product_id"]=>
int(0)
["variation_id"]=>
int(0)
["quantity"]=>
int(1)
["tax_class"]=>
string(13) "digital-goods"
.... truncated for brevity
所以我的假设是产品ID需要在另一个地方修改wp_wc_order_product_lookup
?有谁知道在哪里?
解决方案
推荐阅读
- caching - 在一个中等复杂的用例中,策略处理和使订阅的缓存数据失效
- python - 断言的 Python 帮助函数
- bash - 在带有 sed 的 solaris 中的模式匹配后附加字符串
- java - ResultSet 只返回一行,而数据库有更多行 java/sql
- typescript - 如何在 Typescript 中使特定道具不可为空?
- php - 如何使这个表达式更短?
- flutter - 行和列中的对齐而不是填充颤动
- javascript - $where Javascript 函数中的参数
- html - 如何将字体与动画块对象进行对比?
- laravel - 是否有一个多态表来存储我的图像信息比每个模型的单独表更有效