orders-in-admin-bar.php
· 1.2 KiB · PHP
Исходник
// for QRh
function add_order_counts_to_admin_bar( $wp_admin_bar ) {
if ( ! current_user_can( 'manage_woocommerce' ) ) {
return;
}
// Query total orders
$args_total = array(
'limit' => -1,
'return' => 'ids',
'status' => array('any')
);
$total_orders = wc_get_orders( $args_total );
$total_count = count( $total_orders );
// Query processing orders
$args_processing = array(
'limit' => -1,
'return' => 'ids',
'status' => array('processing')
);
$processing_orders = wc_get_orders( $args_processing );
$processing_count = count( $processing_orders );
// Add total orders node
$wp_admin_bar->add_node( array(
'id' => 'total_orders',
'title' => 'Total Orders: ' . $total_count,
'href' => admin_url('edit.php?post_type=shop_order'),
));
// Add processing orders node
$wp_admin_bar->add_node( array(
'id' => 'processing_orders',
'title' => 'Processing Orders: ' . $processing_count,
'href' => admin_url('edit.php?post_type=shop_order&post_status=wc-processing'),
));
}
add_action( 'admin_bar_menu', 'add_order_counts_to_admin_bar', 100 );
1 | // for QRh |
2 | |
3 | function add_order_counts_to_admin_bar( $wp_admin_bar ) { |
4 | if ( ! current_user_can( 'manage_woocommerce' ) ) { |
5 | return; |
6 | } |
7 | |
8 | // Query total orders |
9 | $args_total = array( |
10 | 'limit' => -1, |
11 | 'return' => 'ids', |
12 | 'status' => array('any') |
13 | ); |
14 | $total_orders = wc_get_orders( $args_total ); |
15 | $total_count = count( $total_orders ); |
16 | |
17 | // Query processing orders |
18 | $args_processing = array( |
19 | 'limit' => -1, |
20 | 'return' => 'ids', |
21 | 'status' => array('processing') |
22 | ); |
23 | $processing_orders = wc_get_orders( $args_processing ); |
24 | $processing_count = count( $processing_orders ); |
25 | |
26 | // Add total orders node |
27 | $wp_admin_bar->add_node( array( |
28 | 'id' => 'total_orders', |
29 | 'title' => 'Total Orders: ' . $total_count, |
30 | 'href' => admin_url('edit.php?post_type=shop_order'), |
31 | )); |
32 | |
33 | // Add processing orders node |
34 | $wp_admin_bar->add_node( array( |
35 | 'id' => 'processing_orders', |
36 | 'title' => 'Processing Orders: ' . $processing_count, |
37 | 'href' => admin_url('edit.php?post_type=shop_order&post_status=wc-processing'), |
38 | )); |
39 | } |
40 | |
41 | add_action( 'admin_bar_menu', 'add_order_counts_to_admin_bar', 100 ); |
42 |