Vous devez essentiellement d'ajouter des règles de réécriture de WP pour faire correspondre les noms de chacun de vos utilisateurs sous la forme souhaitée. C'est ce que fait le WP No Category Base pour les catégories, donc la plupart du code dans ma réponse est adapté de ce plugin.
La partie principale du plugin est une fonction qui se connecte au filtre author_rewrite_rules
et remplace les règles de réécriture d'auteur. Cela récupère tous les noms d'utilisateur et ajoute une règle de réécriture spécifiquement pour chaque utilisateur (le ci-dessous ne gérera pas les flux, alors regardez la source WP No Category Base si vous en avez besoin).
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;
}
L'autre élément essentiel du plugin est une fonction qui accroche dans le filtre author_link
et supprime la base de l'auteur "de l'URL de retour.
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;
}
Voir ce point essentiel: http://gist.github.com/564465
Cela ne gère pas la redirection des anciennes URL de l'auteur de style, encore une fois, voir le WP No Catégorie source de base si vous avez besoin de le faire.
Je ne recommanderais pas ça! La balise '/ author /' est utilisée pour nommer vos auteurs. Le supprimer va confondre WordPress si jamais vous avez une page nommée 'cameron' car les pages sont automatiquement utilisées dans les permaliens par défaut. – EAMann
Pas différent de supprimer le préfixe '/ category /'. Mon client a demandé cela car ils veulent que les urls correspondent aux messages qui sont actuellement comme ceci 'domain.com/cameron/2010/post-title /' Savez-vous comment supprimer le préfixe de l'auteur? Merci. – Cameron
Le code source du plugin 'WP No Category Base' (http://wordpress.org/extend/plugins/wp-no-category-base/) devrait vous donner un bon point de départ. L'idée de base est d'ajouter des règles de réécriture WP qui correspondent aux noms de chacun de vos auteurs. –