Altere o permalink do autor

4

Os URLs originais dos usuários parecem com /author/login/

É possível substituir o login pelo ID do usuário?

Em meus sonhos, os URLs devem se tornar /users/34/ (34 é id do usuário).

Obrigado.

    
por ilovewordpress 29.03.2011 / 00:01

2 respostas

6

você precisa de 3 funções simples e ganchos

primeiro altere a base do autor:

//change author/username base to users/userID
function change_author_permalinks() {
  global $wp_rewrite;
   // Change the value of the author permalink base to whatever you want here
   $wp_rewrite->author_base = 'users';
  $wp_rewrite->flush_rules();
}

add_action('init','change_author_permalinks');

adicione usuários a query_vars:

add_filter('query_vars', 'users_query_vars');
function users_query_vars($vars) {
    // add lid to the valid list of variables
    $new_vars = array('users');
    $vars = $new_vars + $vars;
    return $vars;
}

adicione então a nova regra de reescrita:

function user_rewrite_rules( $wp_rewrite ) {
  $newrules = array();
  $new_rules['users/(\d*)$'] = 'index.php?author=$matches[1]';
  $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_filter('generate_rewrite_rules','user_rewrite_rules');

Agora, se você não souber como usar isso, basta copiar todo o código e colar o arquivo functions.php do seu tema.

    
por Bainternet 29.03.2011 / 02:25
0

Você poderia usar uma regra de htaccess para reescrever / users / 34 para /? author = 34

    
por AutoBlogged 29.03.2011 / 00:20