Custom Admin Menu Order

The actual slug for the WooCommerce menu item is ‘woocommerce’.

So if you replace:

'edit.php?post_type=shop_order', // WooCommerce 

with:

'woocommerce', // WooCommerce 

the above code will work.

I found a handy function that will display all the items in the menu array at How to remove admin menu pages inserted by plugins?.

Here is the function (from the above link) that I use when reordering menu items:

function my_debug_admin_menu() {
    echo '<pre style="margin-left:200px;">' . print_r( $GLOBALS[ 'menu' ], TRUE) . '</pre>';
}
add_action( 'admin_init', 'my_debug_admin_menu' );