Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

221
Visualizações
Issues when using WordPress rewrite rules then accessing parameter using get_query_var

I'm developing a WP plugin and have a WordPress URL:

(e.g.: http://localhost/testsite1/coder/?id=66),

and have attempted to add a rewrite rule to

http://localhost/testsite1/coder/66/

using the following rule:

function add_mypage_rule(){
    add_rewrite_rule(
        '^coder/([0-9]+)',
        'index.php?id=$matches',
        'top'
    );
}

add_action('init', 'add_mypage_rule');

I have registered a WP Query Var using:

add_filter('query_vars', 'registering_custom_query_var');

function registering_custom_query_var($query_vars){
    $query_vars[] = 'id';
    return $query_vars;
}

but when at URL http://localhost/testsite1/coder/66/, when I run code

echo get_query_var('id');

nothing is displayed

however when at URL http://localhost/testsite1/coder/?id=66 the echo statement will display 66.

What is wrong with my rewrite rule resulting in echo get_query_var('id'); not accessing the parameter and displaying 66?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

  1. When you use add_rewrite_rule function, the first argument is the regular expression. Right? When you wrap your regular expression/pattern in parentheses, you're grouping the expression, which means you could access the captured group in the parentheses like this: id=$matches[1].
  • Regular expression ^coder/([0-9]+)
  • Access it in the first captured group (since the id is in the first parenthesis), id=$matches[1]
add_action('init', 'add_mypage_rule');

function add_mypage_rule()
{
    add_rewrite_rule(
        '^coder/([0-9]+)',
        'index.php?id=$matches[1]',
        'top'
    );
}
  1. After that, refresh the permalinks and rewrite rules by navigating to:
    Settings > Permalinks > Click on the 'Save changes' button at the bottom of the page!

And now it should, theoretically, work, unless there are more details that you have not mentioned in your question!


enter image description here

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda