如何通过订单ID获取WooCommerce订单详细信息.我试过这个,但对我不起作用.
$order = new WC_Order( $order_id );
Run Code Online (Sandbox Code Playgroud) 好了,阅读Woocommerce 3.0+的变化,似乎你不能再直接访问这个类了,所以我认为这个代码需要改变,因为它正在吐出一个错误:
$order_item_id = 15;
$order_item = new WC_Order_Item_Product($order_item_id);
$return = $order_item->get_id() ? $order_item : false;
Run Code Online (Sandbox Code Playgroud)
但是,令人尴尬的是,我不确定如何更改此代码以在此类的最新版本中使用正确的新getter和setter函数,该类不再具有构造.怎么做得好?我没有看到任何get关于获得订单项的功能与上述相同.
https://docs.woocommerce.com/wc-apidocs/class-WC_Order_Item_Product.html
也许我在这里忽视一些事情?
在 woocommerce 中,我正在尝试创建一个短代码以放入我的function.php文档中,该代码在页面上显示自定义数据库查询。虽然它有问题,但我不确定是什么。
function sqlquery_shortcode($atts) {
global $wpdb;
$results = $wpdb->get_results("
SELECT a.order_id, a.order_item_id, a.order_item_name, b.meta_key, b.meta_value
FROM 7pW9iX3L_woocommerce_order_items a
JOIN 7pW9iX3L_woocommerce_order_itemmeta b
ON a.order_item_id = b.order_item_id
JOIN 7pW9iX3L_posts c
ON a.order_id = c.ID
JOIN 7pW9iX3L_postmeta d
ON c.ID = d.post_id
WHERE order_item_type = 'line_item'
");
// Loop through each order post object
foreach($results as $result) {
$order_id = $result->ID; // The Order ID
// Get an instance of the WC_Order Object
$order = wc_get_order( $result->ID );
} …Run Code Online (Sandbox Code Playgroud)