这个template_include
钩子允许您更改要使用的模板文件。
在其中,您可以有条件地检查它是否是请求的作者页,然后使用get_query_var()
获取请求的作者。然后检查authors角色,看看它是否是您不想要的,如果是,请使用其他模板。
以下内容未经测试,但类似于:
add_filter( \'template_include\', \'myplugin_author_redirect\', 99 );
function myplugin_author_redirect( $template ) {
if ( is_author() ) { // When any Author page is being displayed
// get the user page being requested
$user = get_user_by(\'slug\', get_query_var(\'author_name\'));
$user_role = array_shift($user->roles);
// user roles we want to redirect away
$exempt = array(\'editor\', \'contributor\');
if ( in_array($user_role,$exempt,true) ) {
// wtv file you want to load when an editors or contributor author page is requested
return locate_template( array( \'archive.php\' ) );
}
}
return $template;
}