Como utilizar add_query_arg() no WordPress2 min leitura

Explicação de como utilizar a função PHP add_query_arg() do WordPress e exemplo prático de código para criar um link com parâmetros adicionais de UTM na URL.

Com a função PHP add_query_arg() você adiciona parâmetros a uma URL. Abaixo mostro as duas maneiras de se utilizar esta função.

Para uma única chave e valor:

<?php $url = add_query_arg( 'chave', 'valor', 'https://wwww.danielkossmann.com/' ); // $url retornará: https://wwww.danielkossmann.com/?chave=valor
Code language: PHP (php)

Para um array associativo com múltiplas chaves e valores:

<?php $parametros = array( "chave1" => "valor1", "chave2" => "valor2", "chave3" => "valor3" ); $url = add_query_arg( $parametros, 'https://wwww.danielkossmann.com/' ); // $url retornará: https://wwww.danielkossmann.com/?chave1=valor1&chave2=valor2&chave3=valor3
Code language: PHP (php)

Se você adicionar uma URL que já possua parâmetros, a função add_query_arg() irá adicionar os novos valores no final da URL:

<?php $parametros = array( "chave1" => "valor1", "chave2" => "valor2", ); $url = add_query_arg( $parametros, 'https://wwww.danielkossmann.com/?chave0=valor0' ); // $url retornará: https://wwww.danielkossmann.com/?chave0=valor0&chave1=valor1&chave2=valor2
Code language: PHP (php)

Caso não seja informado uma URL no último parâmetro da função, ela irá utilizar a URL atual obtida através do valor da variável $_SERVER['REQUEST_URI'].

Aviso importante: A função add_query_arg() espera que todos os valores já estejam codificados com urlencode() ou rawurlencode(). Além disso, seu retorno deve ser tratado com esc_url(), ou similar, para evitar ataques de cross-site scripting (XSS).

Criando um link com parâmetros adicionais de UTM na URL

Um exemplo prático da função add_query_arg() é para adicionar parâmetros UTM em uma URL, de forma a permitir o rastreamento do usuário por ferramentas como o Google Analytics:

<?php $parametros = array( "utm_source" => "painelwp", "utm_medium" => "email", "utm_campaign" => "dica_programacao", ); $url = add_query_arg( $parametros, $url_dica ); echo "Veja <a href='" . esc_url( $url ) . "'>como utilizar add_query_arg()</a> no WordPress.";
Code language: PHP (php)

Se você quiser uma maneira fácil de gerar URL para campanhas, recomendo a ferramenta Campaign URL Builder do próprio Google Analytics.

Similar Posts

Você tem algo construtivo sobre este texto para dizer? Então comente abaixo