Tout savoir sur WordPress
Tutoriel WordPress

Modifier le préfixe de l’url de la page auteur

Par défaut, le préfixe de la page d’un auteur est “author”, découvrez comment faire pour modifier et personnaliser ce paramètre.

Par défaut, la page d’un auteur est accessible à partir de la structure suivante : http://www.mon-site.com/author/toto/. Comme d’habitude, WordPress fait bien les choses et permet de modifier facilement le préfixe “author” de l’adresse url s’il ne vous convient pas.

La modification n’est pas compliquée puisqu’il s’agit de changer la variable author_base de la class wp_rewrite.

Comme d’habitude, cette astuce est à placer dans le fichier functions.php qui se trouve à la racine de votre thème.
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


function gkp_change_author_permalinks() {

    global $wp_rewrite;

    // Change the value of the author permalink base to whatever you want here
    $wp_rewrite->author_base = 'membres';

    $wp_rewrite->flush_rules();
}

add_action('init','gkp_change_author_permalinks');

[/pastacode]

Avec l’ajout de cette astuce, je viens de configurer une nouvelle structure pour les adresses url des auteurs : http://www.mon-site.com/membres/toto/

Cet article a été mis à jour il y a 4629 jours - Il n'est peut être plus à jour !

Article écrit par Jonathan B.

Jonathan est le co-fondateur de WP Media, startup connue pour être l’auteur de WP Rocket et Imagify. Il est aussi co-organisateur du WordCamp Lyon et Paris.

7 Commentaires

  1. Hello,
    Je me suis posé la question il y a peu : pourquoi cette option n’est pas dans la page de réglage des permaliens ?

    Merci pour cette astuce donc !

    Je vais essayer de trouver un hook qui va bien pour l’ajouter dans la page de réglages, si c’est possible ;)

    Bon week-end !

  2. @Geoffrey : ta suggestion m’a intrigué et je suis allé fouiller dans le code pour voir si pouvait ajouter des champs.

    La réponse est OUI !

    Le formulaire utilise les settings API :

    
    
  3. C’est utile par contre il faut faire attention tu flush toutes les règles à chaque chargement de page et dans les sites avec pas mal de contenus ça peut poser des problèmes.
    Avec l’action generate_rewrite_rules tu récupère même l’objet wp_rewrite et les règles sont flush au moment de l’affichage de la page des permalinks dans l’admin ;)

  4. @rahe : Merci pour l’info.

    Par contre, tu pourrais m’en dire plus ?

    J’ai testé cela, mais ça ne fonctionne pas :

    function change_author_permalinks( $wp_rewrite ) {
    	$wp_rewrite->author_base = 'membres';
    }
    add_action('generate_rewrite_rules','change_author_permalinks');
    
  5. Oui je pense que c’est ça mais j’ai pas eu le temps de faire mes investigations… J’avais regardé vite fait et c’était ce genr de problème :)

  6. @Rahe : Je reviens un peu sur ta suggestion.

    Je crois que l’action vient un peu trop tard dans le rewrite. La base de l’auteur est déjà prise en compte avant de passer dans le generate_rewrite_rules.

    Je me trompe ?