💻 WordPress

Como utilizar wp_parse_url() no WordPress1 min leitura

Exemplo prático de código para utilizar a função PHP wp_parse_url().

Com a função PHP wp_parse_url() [em inglês] você gera um array a partir de uma URL, separando os valores por tipo (scheme, host, path, port, …).

O primeiro passo é obter a URL e fazer a limpeza da mesma, para isso vamos usar a função PHP esc_url_raw() com um trecho de código que comentei no PainelWP 97 e adicionar uma chamada da função wp_parse_url() na variável da URL.

// URL $url = "https://www.painelwp.com.br/newsletter-wordpress-edicao-97/?ola=mundo&como=vai"; // Faz a limpeza da URL $url = esc_url_raw( $url ); // Verifica se a URL é válida if ( $url ) { // Gera um array a partir da URL $url_array = wp_parse_url( $url ); // Executa ação se for um array if ( is_array( $url_array ) ) { // Executa uma ação } }
Code language: PHP (php)

O resultado de $url_array é:

array( [scheme] => https [host] => www.painelwp.com.br [path] => /newsletter-wordpress-edicao-97/ [query] => ola=mundo&como=vai )
Code language: PHP (php)

Seguem algumas ideias de ações que você pode executar:

  1. Fazer a verificação do protocolo (scheme) para ver se é HTTP ou HTTPS;
  2. Verificar o domínio (host);
  3. Pegar o caminho da página que está sendo acessada (path);
  4. Pegar os parâmetros da URL (query).

Por que não utilizar a função esc_url() ?

A minha primeira escolha para o código acima foi a função PHP esc_url(), mas obtive o seguinte resultado ao processar a URL:

array( [scheme] => https [host] => www.painelwp.com.br [path] => /newsletter-wordpress-edicao-97/ [query] => ola=mundo& [fragment] => 038;como=vai )
Code language: PHP (php)

Pesquisando um pouco descobri que esta função converte o & em sua versão HTML entity para seguir as especificações do XHTML e isso compromete o resultado da wp_parse_url().

Similar Posts

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