There is a filter called author_link
. You can use that change the URL to whatever you want.
add_filter(
'author_link',
function ($link, $author_id, $author_nicename) {
var_dump($link, $author_id, $author_nicename); // debug
return $link; // return your modified URL
},
1,3
);
The question does not have enough detail to allow for more specific code.
You can use the template_include
hook to alter the template that loads in much the same way as the above code alters URL.
function author_archive_wpse_112852($template) {
if (/* not sure what your conditions are */) {
$template = get_stylesheet_directory().'/diff-author-template.php';
}
return $template;
}
add_filter('template_include','author_archive_wpse_112852');