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}

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


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


0

Vous pouvez l'ajouter dans votre functions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.