i needed something similar to this so i added a rewrite rule to the same author.php file and there i added a redirect based on the user role, so to put this in your use case:
First redirect editor to your theme author.php file by adding this rewrite rule
function my_rewrite_rules_098( $wp_rewrite ) {
$newrules = array();
$new_rules['editor/(\d*)$'] = 'index.php?author_name=$matches[1]';
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_filter('generate_rewrite_rules','my_rewrite_rules_098');
Next create a function to check the user role, say in your functions.php file:
function user_has_role( $roles_to_check = array(), $user_id ) {
if( ! $roles_to_check ) return FALSE;
if( ! $user_id ) return FALSE;
$user = new WP_User( $user_id ); // $user->roles
return in_array( $roles_to_check, $user->roles, FALSE );
}
then in your author.php theme file at the top add this:
if(isset($_GET['author_name'])) {
$curauth = get_userdatabylogin($author_name);
}else{
$curauth = get_userdata(intval($author));
}
//check user role
$user_role_exists = user_has_role( array('Author'),$curauth->ID; );
if ($user_role_exists && isset(get_query_var('editor'))){
//either rediret to a different editor.php template file
//or include it here something like:
include('editor.php');
exit;
}
Hope this helps