Friendly Params WordPress
• Publicado em: abril 23, 2022O plugin transformas parâmetros em URLs amigáveis.
Tipo no exemplo que seguiremos é uma página de eventos com duas variáveis como ano e mês.
Quando você abrir o código do plugin, vai se deparar com duas funções.
A primeira é a fp_var, nada mais é aonde você vai acrescentar as suas variáveis dos parâmetros que deseja utilizar.
Se você for utilizar apenas uma variável, você deve utilizar assim:
$vars[] = "var_name";
Agora, se você deseja mais de uma variável como no exemplo dos eventos. Você deve utilizar assim:
Exemplo: /eventos/ano/mês
$vars = array("year", "month");
Seguindo a função fp_do_rewrite, na linha você deve modificar o page-name para o nome de sua página e var_name pelo variável que você adicionou na função anterior.
add_rewrite_rule("^page-name/([^/]+)/?$", "index.php?pagename=page-name&var_name=\$matches[1]", 'top');
Se você deseja mais de uma variável assim como o nosso exemplo, os matches são acessados com o array key.
Exemplo: /eventos/ano/mês
add_rewrite_rule("^eventos/([^/]+)/([^/]+)/?$", "index.php?pagename=eventos&ano=\$matches[1]&mes=\$matches[2]", 'top');
OBS.: Apos ativar o plugin, não se esqueça de ir até em Configurações/Links Permanentes e atualizar o .htaccess para que as rotas sejam atualizadas.
Minha motivação para fazer o plugin foi um cliente usa o plugin Weglot para ter o site bilingue e lá possui uma página de projetos que passamos um parâmetro na URL como domínio/projetos?nome=nome-do-projeto.
Ai havia uma limitação do plugin Weglot para traduzir URLs com parâmetros, assim que clicávamos no link com parâmetro, ele voltava para linguagem padrão do site.
Basicamente é clico em um link e sou redirecionado para meu idioma original com Weglot. Ai descobri que todos os links para tradução do Weglot necessariamente precisam terminar com uma barra, se não ele perde a tradução.
Foi ai que com esse plugin transformamos a URL domínio/projetos?nome=nome-do-projeto para domínio/projetos/nome-do-projeto/.
Link do download plugin:
https://github.com/romulobrasil/friendly-params
Grato!