Vous cherchez un moyen de changer le slug de l'URL de l'auteur ? Cet extrait modifiera le slug par défaut, mysite.com/author/name, en mysite.com/profile/name. Cependant, vous pouvez le changer pour tout ce que vous souhaitez.
Instructions :
- Ajoutez ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site.
- Changez
profileà la ligne 4 par le nom que vous souhaitez.
add_action('init', 'cng_author_base');
function cng_author_base() {
global $wp_rewrite;
$author_slug = 'profile'; // change slug name
$wp_rewrite->author_base = $author_slug;
}
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de copier / coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 9 meilleurs outils de référencement pour augmenter le trafic de votre site Web, RAPIDEMENT !
Ni votre code ni le mien ne fonctionneront ! ! ! ! C'est énervant !……
// Changer la base de l'auteur pour l'URL de l'auteur.
function custom_author_base() {
global $wp_rewrite;
$author_slug = ‘@’; // Définir le slug de base de l'auteur sur ‘@username’
$wp_rewrite->author_base = $author_slug;
}
add_action( ‘init’, ‘custom_author_base’ );
// Réécrire l'URL de l'auteur vers une nouvelle structure d'URL.
function custom_author_rewrite_rules( $author_rewrite ) {
$author_new_rules = array(
‘@([^/]+)/?$’ => ‘index.php?author_name=$matches[1]’
);
$author_rewrite = array_merge( $author_new_rules, $author_rewrite );
return $author_rewrite;
}
add_filter( ‘author_rewrite_rules’, ‘custom_author_rewrite_rules’ );
// Rediriger l'ancienne URL de l'auteur vers la nouvelle structure d'URL.
function custom_author_redirect() {
if ( is_author() && strpos( $_SERVER[‘REQUEST_URI’], ‘/author/’ ) !== false ) {
wp_redirect( home_url( str_replace( ‘/author/’, ‘/’, $_SERVER[‘REQUEST_URI’] ) ), 301 );
exit();
}
}
add_action( ‘template_redirect’, ‘custom_author_redirect’ );
Bonjour, est-il possible de changer le slug de l'auteur uniquement pour les types de publication personnalisés en utilisant une condition if ?
Merci
Ces codes servent à changer la base de l'auteur, pas le slug de l'auteur.
Ceci n'est pas pour les noms d'auteurs individuels, mais plutôt pour changer le slug /author/ en autre chose, comme /profile/. Le résultat final serait /profile/nomdelauteur
Merci !!
Merci beaucoup !!
merci
merci
Vous vous souvenez de la question de Mike Kennedy ?
Comment peut-on avoir seulement site.com/nom-auteur/ ?
Si vous définissez author_slug = '' ;
cela fonctionnera pour les pages d'auteur, mais dans mon cas, j'obtiens maintenant des erreurs 404 non trouvées pour les pages normales. Il semble qu'un slug d'auteur vide casse la réécriture pour les pages normales.
Quelqu'un a une solution ?
Ce que vous pourriez essayer, c'est d'aller dans « Permaliens » dans les paramètres, puis de cliquer sur « Enregistrer les modifications » pour vider les règles de réécriture.
[…] à Kevin Chard pour le cool […]
J'ai pu modifier la structure des permaliens d'auteur_base avec un code similaire à celui ci-dessus, mais j'ai créé un rôle personnalisé et je me demande si je pourrais avoir 2 author_base différents basés sur le rôle de l'utilisateur. La structure par défaut pour les administrateurs, les auteurs, etc. (/author/nomdutilisateur) et une autre pour le nouveau rôle utilisateur (/gift-registry/nomdutilisateur).
Ryan
Merci !
@wpsnipp:disqus est-il possible de créer des slugs d'auteur personnalisés basés sur les rôles des utilisateurs ?
ajoutez $wp_rewrite->flush_rules()
à la fin de la fonction, cela fonctionnera sans 404 🙂
merci mec
J'ai placé ceci dans functions.php et cela a changé le slug, cependant j'obtiens un 404 lorsque je visite le nouveau slug. Des suggestions ? Merci
Salut Zach, si vous continuez à avoir des problèmes, vous pourriez essayer ce plugin car vous ne devriez avoir aucun problème.
http://wordpress.org/extend/plugins/author-slug/
Salut Kevin,
Merci pour la suggestion. Cependant, j'ai vu ce plugin et j'aimerais savoir comment l'utiliser sans plugin - je construis un très grand site et j'essaie de réduire le nombre de plugins.
Merci,
Zach
Salut Zach, vous pourriez simplement retirer le code du plugin et le placer dans votre functions.php et cela fonctionnera très bien.
Pour toute autre personne ayant le même problème... vide simplement les permaliens (Aller dans Paramètres->Permaliens les vide)