Substituir o URL padrão das páginas do autor?

13

Portanto, o URL padrão para exibir uma lista de postagens de um autor específico se parece com isso:

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

Eu estou querendo saber como alterar o 'autor' nesse URL para outra coisa?

Estou trabalhando em um site de uma escola charter e eles gostariam de permitir que cada professor tenha uma lista de postagens por "sala de aula". Portanto, o URL desejado seria

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

jessegavin
fonte

Respostas:

15

Você pode adicionar isso em suas funções, e ele reescreverá a lesma do padrão "autor" para "sala de aula",

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

espero que ajude você

Philip
fonte
1
flush_rules()é muito caro (em recursos), então eu não o chamaria em todo carregamento de página. Se você fizer isso apenas em um site, poderá deixar de fora e apenas visitar a página de links permanentes , isso também será uma questão de regras.
Jan Fabry
Sim, @Jan Fabry, você está certo, eu editei a resposta agora. Eu escrevi uma solução melhor.
Philip
4
Para quem quer saber se deve usar esse trecho ou o plugin t31os mencionado: o plugin faz exatamente o mesmo, mas com uma interface para alterar a parte da URL. Como você provavelmente não o altera todos os meses, esse trecho functions.phpé mais que suficiente (e não será desativado por acidente).
Jan Fabry
1

Eu uso o plug-in "Editar autor Slug" para fazer o mesmo no meu http://www.techcartnow.com/author/kapil-khandelwal/ Blog do WordPress. Eu modifiquei "autor lesma" usando este plugin.

O plug-in " Editar autor Slug " permite alterar a base de autores (a parte '/ author /' dos URLs do autor) e a versão do autor (o padrão é o nome de usuário do autor).

Kapil Khandelwal
fonte
0

Você pode adicionar isso no seu functions.php:

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