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}

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


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


0

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

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.