Adicionar Regra de Regra para página personalizada

Estava tentando criar uma página específica do autor com URL específica do autor e estava funcionando bem, mas quando eu criei este URL não aceitou a conta seguindo 2 fatores

  1. Conflito de Nome do Autor (nome similar).
  2. Opção de paginação a ser adicionada à página do autor (para suas postagens publicadas)

aqui está a minha regra inicial

function add_my_rule() { global $wp; $wp->add_query_var('args'); add_rewrite_rule('writer\/(.*)','index.php?pagename=writer&args=$matches[1]','top'); /*global $wp_rewrite; $wp_rewrite->flush_rules();*/ } add_action('init', 'add_my_rule'); 

Este arquivo estava funcionando para uma URL, diga

 www.myblog.com/writer/umesh-awasthi , 

mas pode haver mais autores com o mesmo nome e isso criará um problema. Então, eu estava planejando ter o URL do autor do Blog como SO ter

www.myblog.com/writer/001/umesh-awasthi onde 001 é id de usuário que sempre será exclusivo.

O segundo problema é com a paginação, pois sou capaz de criar paginação na página do autor, mas quando o usuário está clicando na segunda página, o URL está chegando como

http://localhost/blog/wordpress/writer/umesh-awasthi/page/2/ então, de acordo com a minha regra URL-Rewrite, irei obter os seguintes dados como parâmetro umesh-awasthi/page/2 que significa que agora minha consulta não será trabalhe, pois esperará o nome do autor como umesh-awasthi e o obterá como umesh-awasthi/page/2

Minha pergunta é posso rewrite a regra para que eu possa obter dados da seguinte maneira em três variables ​​diferentes

  1. ID do usuário
  2. nome do autor
  3. número de página (se ele sair) sendo novo no WP e reescreva eu ​​não tenho certeza de como eu posso conseguir isso, graças antecipadamente

Solutions Collecting From Web of "Adicionar Regra de Regra para página personalizada"

 function add_my_rule() { global $wp; $wp->add_query_var('args'); $wp->add_query_var('arg_username'); add_rewrite_rule('writer/([0-9]+)/([^/]*)/page/([0-9]+)','index.php?pagename=writer&args=$matches[1]&arg_username=$matches[2]&paged=$matches[3]','top'); add_rewrite_rule('writer/([0-9]+)/([^/]*)','index.php?pagename=writer&args=$matches[1]&arg_username=$matches[2]','top'); /*global $wp_rewrite; $wp_rewrite->flush_rules();*/ } add_action('init', 'add_my_rule'); 

Isso deve fazer o truque. Uma reescrita para escritor / user_id / username (o nome de usuário não é usado na rewriterule mas é necessariamente para fazê-lo funcionar. A segunda rewriterule é a mesma, exceto que ela adiciona paginação.


EDITAR: adicionou arg_username no código acima.