尝试以下操作:
// The first part //
add_filter(\'author_rewrite_rules\', \'no_author_base_rewrite_rules\');
function no_author_base_rewrite_rules($author_rewrite) {
global $wpdb;
$author_rewrite = array();
$authors = $wpdb->get_results("SELECT user_nicename AS nicename from $wpdb->users");
foreach($authors as $author) {
$author_rewrite["({$author->nicename})/page/?([0-9]+)/?$"] = \'index.php?author_name=$matches[1]&paged=$matches[2]\';
$author_rewrite["({$author->nicename})/?$"] = \'index.php?author_name=$matches[1]\';
}
return $author_rewrite;
}
// The second part //
add_filter(\'author_link\', \'no_author_base\', 1000, 2);
function no_author_base($link, $author_id) {
$link_base = trailingslashit(get_option(\'home\'));
$link = preg_replace("|^{$link_base}author/|", \'\', $link);
return $link_base . $link;
}
资料来源:
https://wp-snippet.com/snippets/remove-author-prefix-from-slug/