如何在页面上查询 Woocommerce 订单
How to query Woocommerce orders on a page
我想创建一个页面来显示来自数据库的查询以显示一些订单详细信息。
如何在页面上显示此查询?
只要是最后执行的查询,都可以用$wpdb->last_query
抓取最后的查询。为此
,您的 wp-config.php
中需要 define('SAVEQUERIES', true)
有多种获取 Woocommerce 订单的方法:
1) Woocommerce 有一个专用函数 wc_get_orders()
,它会给你一个 WC_Order 对象数组:
$orders = wc_get_orders( array('numberposts' => -1) );
// Loop through each WC_Order object
foreach( $orders as $order ){
echo $order->get_id() . '<br>'; // The order ID
echo $order->get_status() . '<br>'; // The order status
}
要获取订单数据,请参阅下面的链接
2) 你也可以使用 Wordpress WP_Query
:
$loop = new WP_Query( array(
'post_type' => 'shop_order',
'post_status' => array_keys( wc_get_order_statuses() ),
'posts_per_page' => -1,
) );
// The Wordpress post loop
if ( $loop->have_posts() ):
while ( $loop->have_posts() ) : $loop->the_post();
// The order ID
$order_id = $loop->post->ID;
// Get an instance of the WC_Order Object
$order = wc_get_order($loop->post->ID);
endwhile;
wp_reset_postdata();
endif;
要获取订单数据,请参阅下面的链接
3) 您可以使用 SQL 查询
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}posts WHERE post_type LIKE 'shop_order'");
// 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 );
}
您将能够从 WC_Order
object 中获取所有订单详细信息,如以下所述:
将数据显示为 table
中的列表
要在列表中显示订单,您应该查看 woocommerce 弃用模板 myaccount/my-orders.php or to myaccount/orders.php template…
它会给你一个模型……[=22=]
我想创建一个页面来显示来自数据库的查询以显示一些订单详细信息。
如何在页面上显示此查询?
只要是最后执行的查询,都可以用$wpdb->last_query
抓取最后的查询。为此
wp-config.php
中需要 define('SAVEQUERIES', true)
有多种获取 Woocommerce 订单的方法:
1) Woocommerce 有一个专用函数 wc_get_orders()
,它会给你一个 WC_Order 对象数组:
$orders = wc_get_orders( array('numberposts' => -1) );
// Loop through each WC_Order object
foreach( $orders as $order ){
echo $order->get_id() . '<br>'; // The order ID
echo $order->get_status() . '<br>'; // The order status
}
要获取订单数据,请参阅下面的链接
2) 你也可以使用 Wordpress WP_Query
:
$loop = new WP_Query( array(
'post_type' => 'shop_order',
'post_status' => array_keys( wc_get_order_statuses() ),
'posts_per_page' => -1,
) );
// The Wordpress post loop
if ( $loop->have_posts() ):
while ( $loop->have_posts() ) : $loop->the_post();
// The order ID
$order_id = $loop->post->ID;
// Get an instance of the WC_Order Object
$order = wc_get_order($loop->post->ID);
endwhile;
wp_reset_postdata();
endif;
要获取订单数据,请参阅下面的链接
3) 您可以使用 SQL 查询
global $wpdb;
$results = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}posts WHERE post_type LIKE 'shop_order'");
// 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 );
}
您将能够从 WC_Order
object 中获取所有订单详细信息,如以下所述:
将数据显示为 table
中的列表要在列表中显示订单,您应该查看 woocommerce 弃用模板 myaccount/my-orders.php or to myaccount/orders.php template…
它会给你一个模型……[=22=]