WooCommerce 小部件 - 迄今为止的订单列表

Posted

技术标签:

【中文标题】WooCommerce 小部件 - 迄今为止的订单列表【英文标题】:WooCommerce widget - List of orders from date to date 【发布时间】:2016-09-16 15:45:51 【问题描述】:

我想创建一个仪表板小部件来显示当月上半月的订单,这是我的代码:

add_action( 'wp_dashboard_setup', 'register_my_dashboard_widget' );
function register_my_dashboard_widget() 
    wp_add_dashboard_widget(
    'my_dashboard_widget',
    'Ordiers',
    'my_dashboard_widget_display'
 );



function my_dashboard_widget_display() 
global $wpdb;

$date_from = '2016-09-01';
$date_to = '2016-09-15';
$post_status = implode("','", array('wc-processing', 'wc-completed') );

$result = $wpdb->get_results( "SELECT * FROM $wpdb->posts 
        WHERE post_type = 'shop_order'
        AND post_date BETWEEN '$date_from  00:00:00' AND '$date_to 23:59:59'
    ");

echo "<pre>";
print_r($result);

如何给出列表样式?

【问题讨论】:

【参考方案1】:

要给出列表样式,您需要在循环中迭代每个订单。您将在循环外回显 &lt;ul&gt; html 标记,在循环内回显 &lt;li&gt; HTML 标记。我已在您的查询中添加了所需的订单状态。

我对你的代码做了一点改动:

function my_dashboard_widget_display() 
    global $wpdb;

    $date_from = '2016-09-01';
    $date_to = '2016-09-15';

    $result = $wpdb->get_results( "
        SELECT * FROM $wpdb->posts
        WHERE post_type = 'shop_order'
        AND post_status = 'wc-completed' OR post_status = 'wc-processing'
        AND post_date BETWEEN '$date_from  00:00:00' AND '$date_to 23:59:59'
    " );

    echo '<ul>';

    foreach($result as $value) 

        // Getting WC order object
        $order = wc_get_order( $value->ID );

        // For example displaying order number and status
        echo '<li>Order #'.$order->id. ' with status ' . $order->get_status() . '</li>';
    
    echo '</ul>';

代码位于您的活动子主题(或主题)的 function.php 文件中或任何插件文件中。

此代码已经过测试并且可以工作

【讨论】:

我认为您缺少括号。它应该是 (post_status = 'wc-completed' OR post_status = 'wc-processing')(注意括号!否则查询可能无法提供预期结果)

以上是关于WooCommerce 小部件 - 迄今为止的订单列表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Woocommerce 购物车小部件中显示商品的总价?

从产品类别中排除最近查看的产品小部件中的 Woocommerce 产品

woocommerce 小部件“按属性过滤产品”显示不可用的产品

woocommerce产品小部件显示了我无法设置样式的神秘类

在Woocommerce中Ajax化自定义迷你购物车小部件

如何在 Woocommerce 购物车页面中添加订单备注字段?