<?php function js_shop_order_user_role_filter(){global $typenow,$wp_query;if (in_array($typenow,wc_get_order_types('order-meta-boxes'))){$user_role='';// Get all user roles $user_roles=array('guest'=>'Guest');foreach (get_editable_roles() as $key=>$values){$user_roles[$key]=$values['name']}// Set a selected user role if (! empty($_GET['_user_role'])){$user_role=sanitize_text_field($_GET['_user_role'])}// Display drop down ?><select name='_user_role'><option value=''><?php _e('Select a user role','woocommerce');?></option><?php foreach ($user_roles as $key=>$value):?><option <?php selected($user_role,$key);?>value='<?php echo $key; ?>'><?php echo $value;?></option><?php endforeach;?></select><?php}}add_action('restrict_manage_posts','js_shop_order_user_role_filter');function js_shop_order_user_role_posts_where($query){if (! $query->is_main_query() || empty($_GET['_user_role']) || $_GET['post_type'] !=='shop_order'){return}if ($_GET['_user_role'] !='guest'){$ids=get_users(array('role'=>sanitize_text_field($_GET['_user_role']),'fields'=>'ID'));$ids=array_map('absint',$ids)}else{$ids=array(0)}$query->set('meta_query',array(array('key'=>'_customer_user','compare'=>'IN','value'=>$ids,)));if (empty($ids)){$query->set('posts_per_page',0)}}add_filter('pre_get_posts','js_shop_order_user_role_posts_where');