WooCommerce HPOS:如何通过订单项ID获取订单项对象
解决方案
在启用HPOS(高性能订单存储)后,原wc_get_order_id_by_order_item_id()函数因依赖旧版订单数据结构无法正常工作,可通过直接查询HPOS对应的数据库表实现高效获取订单ID,一行代码如下:
$order_id = $GLOBALS['wpdb']->get_var( $GLOBALS['wpdb']->prepare( "SELECT order_id FROM {$GLOBALS['wpdb']->prefix}wc_order_items WHERE order_item_id = %d", $item_id ) );
说明
- 该方式直接操作HPOS核心表
wp_wc_order_items(表前缀会根据你的WordPress配置自动适配),通过订单项IDorder_item_id关联查询订单IDorder_id,无需循环,性能高效,适合批量处理大量订单项。 - 使用
$wpdb->prepare()确保查询安全,避免SQL注入风险。
内容的提问来源于stack exchange,提问作者Catsy
相关产品推荐
相关产品推荐

