Standard-URL für Autorenseiten überschreiben?

13

Die Standard-URL zum Anzeigen einer Liste von Beiträgen eines bestimmten Autors sieht also folgendermaßen aus:

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

Ich frage mich, wie ich den "Autor" in dieser URL in etwas anderes ändern kann.

Ich arbeite an einer Website für eine Charterschule und sie möchten jedem Lehrer erlauben, eine Liste der Beiträge nach "Klassenzimmer" zu haben. Die gewünschte URL wäre also

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

jessegavin
quelle

Antworten:

15

Sie können dies in Ihre Funktionen einfügen, und es wird der Slug von Standard "Autor" auf "Klassenzimmer" umgeschrieben.

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

hoffe es hilft dir

Philip
quelle
1
flush_rules()ist recht teuer (in Ressourcen), daher würde ich es nicht bei jedem Seitenaufruf aufrufen. Wenn Sie dies nur für eine Site tun, können Sie es weglassen und einfach die Permalinks- Seite besuchen. Dadurch werden auch die Regeln gelöscht.
Jan Fabry
Ja @Jan Fabry, du hast recht, ich habe die Antwort jetzt bearbeitet. Ich habe eine bessere Lösung geschrieben.
Philip
4
Für alle, die sich fragen, ob sie dieses Snippet oder das erwähnte Plugin verwenden sollen: Das Plugin macht genau das Gleiche, aber mit einer Schnittstelle zum Ändern des URL-Teils. Da Sie es wahrscheinlich nicht jeden Monat ändern werden, ist dieses Snippet in Ihrem functions.phpmehr als ausreichend (und wird nicht versehentlich deaktiviert).
Jan Fabry
1

Ich verwende das Plugin "Edit Author Slug", um dasselbe auf meinem http://www.techcartnow.com/author/kapil-khandelwal/ WordPress-Blog zu tun . Ich habe "author slug" mit diesem Plugin geändert.

Mit dem Plugin " Edit Author Slug " können Sie sowohl die Autorenbasis (den '/ author /' - Teil der Autoren-URLs) als auch den Autoren-Slug (standardmäßig den Benutzernamen des Autors) ändern.

Kapil Khandelwal
quelle
0

Sie können dies hinzufügen in functions.php:

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