Como customizar a base do autor sem $ this front?

3

Eu tenho um código de exemplo:

function change_author_permalinks() {
    global $wp_rewrite;
    $wp_rewrite->author_base = 'u';
    $wp_rewrite->author_structure = "/" . $wp_rewrite->author_base . '/%author%';
    add_rewrite_rule('u/([^/]+)/?$', 'index.php?author_name=$matches[1]', 'top');
}
add_action('init','change_author_permalinks');

mas meu conjunto atual no meu blog é:

t%post% (ex: www.domain.com/tauthor/username )

Eu quero mudar para:

www.domain.com/u/username

Mas quando o código é executado, o resultado é a página não encontrada? Como consertar isso?

    
por Hai Truong IT 17.01.2013 / 16:36

2 respostas

11

Você está perto, mas não precisa da chamada add_rewrite_rule .

add_action('init', 'wpse82004_init');
function wpse82004_init()
{
    global $wp_rewrite;
    $wp_rewrite->author_base = 'u';
    $wp_rewrite->author_structure = '/' . $wp_rewrite->author_base . '/%author%';
}

Depois disso, salve novamente os permalinks.

Aqui está um plugin para colocar uma opção na sua página de permalinks para fazer isso.

    
por chrisguitarguy 18.01.2013 / 22:08
2

Isso foi o que fiz para mudar a base do autor:

// change base of author pages- need to save permalinks to take effect
function wpa_82004(){
    global $wp_rewrite;
    $wp_rewrite->author_base = 'people'; // or whatever
}
add_action('init','wpa_82004');

Depois de executar isso, não se esqueça de salvar novamente seus permalinks. (Opções- > Permalinks) Você precisa liberar sua rewrite_rules para saber se isso está funcionando.

    
por helgatheviking 18.01.2013 / 20:37