Remplacer l'URL par défaut des pages d'auteur?

13

Ainsi, l'URL par défaut pour afficher la liste des articles d'un auteur particulier ressemble à ceci:

http://domain.com/author/{username}

Je me demande comment changer "l'auteur" dans cette URL en autre chose?

Je travaille sur un site Web pour une école à charte et ils aimeraient permettre à chaque enseignant d'avoir une liste de postes par "classe". L'URL souhaitée serait donc

http://domain.com/classroom/{username}

jessegavin
la source

Réponses:

15

Vous pouvez ajouter ceci dans vos fonctions, et il réécrira le slug de "auteur" par défaut à "salle de classe",

function new_author_base() {
    global $wp_rewrite;
    $author_slug = 'classroom';
    $wp_rewrite->author_base = $author_slug;
}
add_action('init', 'new_author_base');

j'espère que cela vous aide

Philippe
la source
1
flush_rules()est assez cher (en ressources), donc je ne l'appellerais pas à chaque chargement de page. Si vous ne faites cela que pour un seul site, vous pouvez le laisser de côté et visiter la page Permaliens , cela videra également les règles.
Jan Fabry
Oui @Jan Fabry, vous avez raison, j'ai édité la réponse maintenant. J'ai écrit une meilleure solution.
Philip
4
Pour tous ceux qui se demandent s'il faut utiliser cet extrait ou le plugin t31os mentionné: le plugin fait exactement la même chose, mais avec une interface pour changer la partie URL. Comme vous ne le changerez probablement pas tous les mois, cet extrait de code functions.phpest plus que suffisant (et ne sera pas désactivé par accident).
Jan Fabry
1

J'utilise le plugin "Edit Author Slug" pour faire de même sur mon http://www.techcartnow.com/author/kapil-khandelwal/ blog WordPress. J'ai modifié "slug auteur" en utilisant ce plugin.

Le plug-in " Edit Author Slug " vous permet de modifier à la fois la base de l'auteur (la partie '/ author /' des URL de l'auteur) et le slug de l'auteur (par défaut le nom d'utilisateur de l'auteur).

Kapil Khandelwal
la source
0

Vous pouvez l'ajouter dans votre functions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
Madhavi Jha
la source