获取 WooCommerce 中的处理状态订单计数?

Vis*_*ngh 1 php sql wordpress orders woocommerce

我想获取 WooCommerce 中的处理订单计数。我在代码片段插件中使用以下代码,但它有效。

if( !function_exists( 'wc_processing_order_count' ) ) { 
    require_once '../plugins/woocommerce/includes/wc-order-functions.php'; 
}


// NOTICE! Understand what this does before running. 
$result = wc_processing_order_count(); 
Run Code Online (Sandbox Code Playgroud)

它什么也没返回。

Loi*_*tec 5

此自定义函数使用非常简单的 SQL 查询来获取特定状态的订单计数:

function get_orders_count_from_status( $status ){
    global $wpdb;

    // We add 'wc-' prefix when is missing from order staus
    $status = 'wc-' . str_replace('wc-', '', $status);

    return $wpdb->get_var("
        SELECT count(ID)  FROM {$wpdb->prefix}posts WHERE post_status LIKE '$status' AND `post_type` LIKE 'shop_order'
    ");
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。


“处理”订单计数的用法示例:

// Display "processing" orders count
echo get_orders_count_from_status( "processing" );
Run Code Online (Sandbox Code Playgroud)