Abrir Links dos Comentários em Nova Janela: Blog WordPress


Vocês já perceberam que quando algum visitante acessa teu blog, lê algum artigo e deixa um comentário — preenchendo o campo url com o url do site dele –, ao clicar sobre o nome do comentarista, o site dele é aberto na mesma janela? O mesmo acontece caso o comentarista deixe um link no próprio comentário.

Olhando no código fonte, notei que atualmente o WordPress insere o atributo rel=’external nofollow’ ao montar a âncora dos urls deixados no campo url. Já para os urls deixados nos comentários, é inserido o atribudo rel=’nofollow’.

Como você pode perceber, em ambos os casos, o link abrirá na mesma janela. Neste artigo vou te mostrar como criar duas funções para modificar o comportamento padrão do CMS WordPress para que ele comece a Abrir Links dos Comentários em Nova Janela do Blog WordPress.

Abrir Links dos Comentários em Nova Janela: Blog WordPress

A primeira função irá modificar a âncora montada pelo WP para os links do campo url e fará com que eles sejam abertos em novas janelas quando clicados. Veja o código abaixo:

Filtro 01 para abrir Links dos Comentários WP em nova Janela

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function abre_autor_link_nova_janela() {
    
    $url    = get_comment_author_url();
    $author = get_comment_author();
 
    if ( empty( $url ) || 'http://' == $url ){
        
        $return = $author;
        
    }else{
        
        $return = "<a href='$url' rel='external nofollow' class='url' target='_blank'>$author</a>";
        
    }
    
    return $return;
    
}
add_filter('get_comment_author_link','abre_autor_link_nova_janela');
function abre_autor_link_nova_janela() {
	
	$url    = get_comment_author_url();
	$author = get_comment_author();

	if ( empty( $url ) || 'http://' == $url ){
		
		$return = $author;
		
	}else{
		
		$return = "<a href='$url' rel='external nofollow' class='url' target='_blank'>$author</a>";
		
	}
	
	return $return;
	
}
add_filter('get_comment_author_link','abre_autor_link_nova_janela');

[/code]

Você deve copiar o código acima e colocá-lo no arquivo functions.php que fica dentro da pasta do teu tema WordPress atual.

Filtro 02 para abrir Links dos Comentários WP em nova Janela

Esta função a seguir é para o segundo caso, onde você quer que os links deixados junto com o texto dos comentários sejam abertos em nova janela. Veja o código:

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
44
45
46
47
48
49
function abre_comentario_link_nova_janela( $comment ) {
    
    $pos =  strrpos($comment,"_blank");
    
    if ($pos===FALSE) {
        
        $theComment = str_replace("<a","<a target='_blank' ", $comment);
        
    } else {
        
        $theComment = $comment;
        
    }
 
    return $theComment;
    
}
 
add_filter("comment_text", 'abre_comentario_link_nova_janela', 1000);
[/code]
 
Agora vejamos algumas extrapolações: 
 
<h2>Como desativar os links dos autores nos Comentários do WordPress</h2>
 
Caso você queira, também poderá simplesmente excluir os links, ou seja, em vez de um link, vai aparecer apenas o texto com o nome do comentarista. Veja a função abaixo: 
 
<strong>Filtro 01 para desativar Links dos comentários</strong>
 
[code]
function excluir_autor_link() {
    
    $url    = get_comment_author_url();
    $author = get_comment_author();
 
    if ( empty( $url ) || 'http://' == $url ){
        
        $return = $author;
        
    }else{
        
        $return = "$author";
        
    }
    
    return $return;
    
}
add_filter('get_comment_author_link','excluir_autor_link');
function abre_comentario_link_nova_janela( $comment ) {
	
    $pos =  strrpos($comment,"_blank");
	
    if ($pos===FALSE) {
		
        $theComment = str_replace("<a","<a target='_blank' ", $comment);
		
    } else {
		
        $theComment = $comment;
		
    }

    return $theComment;
	
}

add_filter("comment_text", 'abre_comentario_link_nova_janela', 1000);
[/code]

Agora vejamos algumas extrapolações: 

<h2>Como desativar os links dos autores nos Comentários do WordPress</h2>

Caso você queira, também poderá simplesmente excluir os links, ou seja, em vez de um link, vai aparecer apenas o texto com o nome do comentarista. Veja a função abaixo: 

<strong>Filtro 01 para desativar Links dos comentários</strong>


function excluir_autor_link() {
	
	$url    = get_comment_author_url();
	$author = get_comment_author();

	if ( empty( $url ) || 'http://' == $url ){
		
		$return = $author;
		
	}else{
		
		$return = "$author";
		
	}
	
	return $return;
	
}
add_filter('get_comment_author_link','excluir_autor_link');

Agora, para que os links deixados no texto dos comentários não fiquem ativos, use a função abaixo:

Filtro 02 para desativar Links dos comentários

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function excluir_links_dos_comentarios( $comment ) {
    
    $pos =  strrpos($comment,"<a ");
    
    if ($pos!==FALSE) {
        
        $theComment = preg_replace('/<a href="http:\/\/[\d\w.-]+" rel="nofollow">(http:\/\/[\d\w.-]+)<\/a>/','$1',$comment);
        
        
    } else {
        
        $theComment = $comment;
        
    }
 
    return $theComment;
    
}
add_filter("comment_text", 'excluir_links_dos_comentarios', 1000);
function excluir_links_dos_comentarios( $comment ) {
	
    $pos =  strrpos($comment,"<a ");
	
    if ($pos!==FALSE) {
		
		$theComment = preg_replace('/<a href="http:\/\/[\d\w.-]+" rel="nofollow">(http:\/\/[\d\w.-]+)<\/a>/','$1',$comment);
		
		
    } else {
		
        $theComment = $comment;
		
    }

    return $theComment;
	
}
add_filter("comment_text", 'excluir_links_dos_comentarios', 1000);

Conclusão

Utilizar estas funções que devem ser inseridas no arquivo functions.php é melhor do que editar páginas do próprio núcleo WordPress. Caso você modifique arquivos do núcleo, após alguma atualização poderá perder todo o trabalho e ter de refazê-lo. Já editando o arquivo functions.php do tema atual você garante que nenhuma atualização irá destruir teu trabalho. No máximo você só precisará fazer pequenas adaptações.

Pegando as ideias deixadas neste artigo, dá pra modificar e controlar bem como os links dos comentários do blog WordPress aparecem ou se comportam. Caso tenha ficado alguma dúvida sobre o funcionamento destas funções ou como usá-las, deixe sua dúvida nos comentários que eu te tento lhe ajudar.

Leave a Reply