Note: Copy and paste this code in functions.php of your current theme.
function custom_wpcargo_history_fields( $history_fields ){
$status_to_remove = array();
$current_user = wp_get_current_user();
/*
* Modiry your status list to remove here.
*/
/*
* WPCargo Roles
*
* wpcargo_client
* wpcargo_pending_client
* wpcargo_employee
* cargo_agent
*/
// List to remove in Agent Role
if( in_array( 'cargo_agent' , $current_user->roles ) ){
$status_to_remove = array(
'Delivered',
'In Transit'
);
}
// List to remove in Driver Role
if( in_array( 'wpcargo_driver' , $current_user->roles ) ){
$status_to_remove = array(
'Delivered',
'In Transit'
);
}
/*
* Unset the list of satus here. Note this is no need to modify
*/
if( !empty( $status_to_remove ) ){
foreach( $status_to_remove as $status ){
if ( ($key = array_search( $status, $history_fields['status']['options'])) !== false) {
unset($history_fields['status']['options'][$key]);
}
}
}
return $history_fields;
}
add_filter( 'wpcargo_history_fields', 'custom_wpcargo_history_fields' );