Pegar URL da página Atual WordPress, seja Categoria, Tag, Data, Post, Home, Busca


Em alguns casos quando você está desenvolvendo algum plugin ou criando algum script em teu blog WordPress, faz-se necessário saber o url da página atual, mesmo sendo uma página de categoria, tag, post, etc. Neste artigo vou te mostrar como Pegar URL da página Atual WordPress, seja Categoria, Tag, Data, Post, Home, Busca. Continue lendo para saber como proceder.

O WordPress possui algumas funções que facilitam nossa vida na hora de saber o url amigável de uma determinada página, porém há casos onde é necessário um pouco de codificação adicinal para de fato conseguir obter o url desejado.

Como pegar o url principal (home) do blog WordPress

Para obter o url da home do site você pode usar a função get_bloginfo(). Esta função pode ser utilizada para se obter várias informações do blog, inclusive o url principal. Veja o código abaixo:

1
2
$url = get_bloginfo("url");
echo $url;
$url = get_bloginfo("url");
echo $url;

Como pegar o url da página ou post atual

Se você estiver na página de um post ou mesmo de uma página (page) do teu blog WordPress e quiser saber o url dela, poderá usar a função get_permalink(). Veja como fazer isso abaixo:

1
2
3
global $post;
$url = get_permalink($post->ID);
echo $url;
global $post;
$url = get_permalink($post->ID);
echo $url;

O Código acima serve tanto para páginas como para posts. Experimente e verás.

Como pegar o url da categoria atual

Quanto você estiver em uma página de uma categoria, utilize o código abaixo para pegar o url da mesma:

1
2
3
4
5
6
7
$category = get_category( get_query_var( 'cat' ) );
 
$cat_id = $category->cat_ID;
 
$url = get_category_link( $cat_id );
 
echo $url;
$category = get_category( get_query_var( 'cat' ) );

$cat_id = $category->cat_ID;

$url = get_category_link( $cat_id );

echo $url;

Como pegar o url da tag atual

Pegar o url de uma tag é um pouco diferente, veja abaixo como proceder:

1
2
3
  $tag = get_query_var('tag');
  $url = get_bloginfo('url') . "/tag/" . $tag;
  echo $url;
  $tag = get_query_var('tag');
  $url = get_bloginfo('url') . "/tag/" . $tag;
  echo $url;

Como pegar o url da data atual

Quando se está em uma página de data, para pegar o url use o código abaixo:

1
2
3
  $date = get_query_var('year')."/". zeroise(get_query_var('monthnum'), 2);
  $url = get_bloginfo('url') . "/" . $date;
  echo $url;
  $date = get_query_var('year')."/". zeroise(get_query_var('monthnum'), 2);
  $url = get_bloginfo('url') . "/" . $date;
  echo $url;

Como pegar o url do autor atual

Se você estiver numa página de autor, paga pegar o url da página use o código abaixo:

1
2
3
4
5
  $author = get_query_var('author');
  
  $user = get_the_author_meta('user_nicename',$author);
  $url = get_bloginfo('url') . "/" . $user;
  echo $url;
  $author = get_query_var('author');
  
  $user = get_the_author_meta('user_nicename',$author);
  $url = get_bloginfo('url') . "/" . $user;
  echo $url;

Como pegar o url de uma busca no WordPress

1
2
3
  $busca = get_search_query();
  $url = get_bloginfo('url') . "/?s=" . urlencode($busca);
  echo $url;
  $busca = get_search_query();
  $url = get_bloginfo('url') . "/?s=" . urlencode($busca);
  echo $url;

Pegar URL da página Atual WordPress, seja Categoria, Tag, Data, Post, Home, Busca

Todos os códigos que mostrei acima podem ser usados fora do Loop do WordPress. Inclusive você pode utilizar as tags condicionais para saber qual código executar. Veja abaixo um exemplo de código utilizando as tags condicionais do WordPress:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
if(is_home()){
 
    $url = get_bloginfo("url");
    echo $url;
    
}elseif(is_single() || is_page()){
 
    global $post;
    $url = get_permalink($post->ID);
    echo $url;
 
}elseif(is_category()){
 
    $category = get_category( get_query_var( 'cat' ) );
    $cat_id = $category->cat_ID;
    $url = get_category_link( $cat_id );
    echo $url;
    
}elseif(is_tag()){
 
  $tag = get_query_var('tag');
  $url = get_bloginfo('url') . "/tag/" . $tag;
  echo $url;
    
}elseif(is_date()){
 
  $date = get_query_var('year')."/". zeroise(get_query_var('monthnum'), 2);
  $url = get_bloginfo('url') . "/" . $date;
  echo $url;
 
}elseif(is_author()){
    
  $author = get_query_var('author');
  
  $user = get_the_author_meta('user_nicename',$author);
  $url = get_bloginfo('url') . "/" . $user;
  echo $url;    
    
}elseif(is_search()) {
  $busca = get_search_query();
  $url = get_bloginfo('url') . "/?s=" . urlencode($busca);
  echo $url;
}
if(is_home()){

	$url = get_bloginfo("url");
	echo $url;
	
}elseif(is_single() || is_page()){

	global $post;
	$url = get_permalink($post->ID);
	echo $url;

}elseif(is_category()){

	$category = get_category( get_query_var( 'cat' ) );
	$cat_id = $category->cat_ID;
	$url = get_category_link( $cat_id );
	echo $url;
	
}elseif(is_tag()){

  $tag = get_query_var('tag');
  $url = get_bloginfo('url') . "/tag/" . $tag;
  echo $url;
	
}elseif(is_date()){

  $date = get_query_var('year')."/". zeroise(get_query_var('monthnum'), 2);
  $url = get_bloginfo('url') . "/" . $date;
  echo $url;

}elseif(is_author()){
	
  $author = get_query_var('author');
  
  $user = get_the_author_meta('user_nicename',$author);
  $url = get_bloginfo('url') . "/" . $user;
  echo $url;	
	
}elseif(is_search()) {
  $busca = get_search_query();
  $url = get_bloginfo('url') . "/?s=" . urlencode($busca);
  echo $url;
}

Conclusão

Com os códigos acima, você pode pegar o url de qualquer página do teu blog WordPress facilmente. Contudo, também é possível montar o url através das variáveis globais via PHP. Veja como ficaria um exemplo de código que pega o url da página atual, sem fazer diferença se é uma página de post, categoria, tag, etc:

1
2
3
4
5
$url = "http://". $_SERVER['HTTP_HOST'];
$url.= "/";
$url.= $_SERVER['REQUEST_URI'];
 
echo $url;
$url = "http://". $_SERVER['HTTP_HOST'];
$url.= "/";
$url.= $_SERVER['REQUEST_URI'];

echo $url;

Este último código pode ser utilizado em qualquer site PHP, inclusive no WordPress. Se ele resolver teu problema, é melhor utilizá-lo pois ele não consumirá tanto recursos com o outro código, visto que nenhuma consulta ao banco de dados será realizada.

Até o próximo artigo aqui no blog

Pegar URL da página Atual WordPress, seja Categoria, Tag, Data, Post, Home, Busca
4.7 (94.29%) 21 votes

Leave a Reply