Ich habe einen benutzerdefinierten Bestellstatus – In Bearbeitung. Der Code, den ich dafür habe, ist unten. Es funktioniert großartig – aber die Bestellungen mit diesem benutzerdefinierten Bestellstatus werden nicht in die standardmäßigen Woo-Verkaufsberichte oder das Woocommerce-Status-Dashboard-Widget aufgenommen.
Könnte mir bitte jemand helfen und einen Blick darauf werfen, wie ich dieses Snippet unten ergänzen kann, damit die $ aus diesem benutzerdefinierten Bestellstatus “In Bearbeitung” im Woo-Verkaufsbericht $ widergespiegelt werden.
// 1 New order status AFTER woo 2.2 IN PROGRESS
add_action( 'init', 'register_my_new_order_statuses' );
function register_my_new_order_statuses() {
register_post_status( 'wc-in-progress', array(
'label' => _x( 'In Progress', 'Order status', 'woocommerce' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'In Progress <span class="count">(%s)</span>', 'In Progress<span class="count">(%s)</span>', 'woocommerce' )
) );
}
add_filter( 'wc_order_statuses', 'my_new_wc_order_statuses' );
// Register in wc_order_statuses.
function my_new_wc_order_statuses( $order_statuses ) {
$order_statuses['wc-in-progress'] = _x( 'In Progress', 'Order status', 'woocommerce' );
return $order_statuses;
}
/*
* 2 CHANGE STATUSES ORDER IN DROPDOWN LIST
* @param array $wc_statuses_arr Array of all order statuses on the website
*/
function change_statuses_order( $wc_statuses_arr ){
$new_statuses_arr = array(
'wc-processing' => $wc_statuses_arr['wc-processing'], // 1
'wc-in-progress' => $wc_statuses_arr['wc-in-progress'], // 2
'wc-completed' => $wc_statuses_arr['wc-completed'], // 3
'wc-cancelled' => $wc_statuses_arr['wc-cancelled'], // 4
'wc-refunded' => $wc_statuses_arr['wc-refunded'], // 5
'wc-failed' => $wc_statuses_arr['wc-failed'], // 6
'wc-pending' => $wc_statuses_arr['wc-pending'], // 7
'wc-on-hold' => $wc_statuses_arr['wc-on-hold'] // 8
);
return $new_statuses_arr;
}
add_filter( 'wc_order_statuses', 'change_statuses_order' );
/** 3 ADD COLOR TO IN PROGRESS BUTTON **/
add_action('admin_head', 'styling_admin_order_list' );
function styling_admin_order_list() {
global $pagenow;
if( $_GET['post_type'] == 'shop_order' && $pagenow == 'edit.php'):
// HERE below set your custom status
$order_status="In Progress"; // <==== HERE
?>
<style>
.order-status.status-<?php echo sanitize_title( $order_status ); ?> {
background: #cc0099;
color: #ffffff;
}
</style>
<?php
endif;
}