Sostituire l'URL predefinito per le pagine dell'autore?


13

Quindi l'URL predefinito per visualizzare un elenco di post di un determinato autore è simile al seguente:

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

Mi chiedo come cambiare l '"autore" in quell'URL in qualcos'altro?

Sto lavorando su un sito Web per una scuola charter e vorrebbero consentire a ciascun insegnante di avere un elenco di post per "classe". Quindi l'URL desiderato sarebbe

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

Risposte:



15

Puoi aggiungerlo nelle tue funzioni e riscriverà la lumaca da "autore" predefinito a "classe",

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

spero che ti aiuti


1
flush_rules()è piuttosto costoso (nelle risorse), quindi non lo chiamerei ad ogni caricamento della pagina. Se lo fai solo per un sito, puoi lasciarlo fuori e visitare semplicemente la pagina Permalink , anche questo annullerà le regole.
Jan Fabry,

Sì @ Jan Fabry, hai ragione, ho modificato la risposta ora. Ho scritto una soluzione migliore.
Philip

4
Per chiunque si chieda se utilizzare questo snippet o il plugin t31os menzionato: il plugin fa esattamente lo stesso, ma con un'interfaccia per cambiare la parte URL. Poiché probabilmente non lo cambierai ogni mese, questo frammento nel tuo functions.phpè più che sufficiente (e non verrà disabilitato per caso).
Jan Fabry,


0

Puoi aggiungere questo nel tuo functions.php:

global $wp_rewrite;
$wp_rewrite->author_base = "member"; // or whatever
$wp_rewrite->flush_rules();
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.