¿Quieres abrir los enlaces de comentarios en una nueva ventana?

Seguro que alguna vez lo has pensado. ¿Cómo podría conseguir abrir los enlaces de comentarios en una nueva ventana?

Y eso mismo pensó mi amiga Laura, del blog caoscero.com (un blog imperdible, si quieres poner orden en el caos de tu negocio).

Por supuesto, cuando se le ocurre alguna mejora para su blog ¿a qué mejor casa va a ir a preguntar que a la mía?

Así que se vino «pa’ca» y me pegó un silbido: » Niño, ¿y esto cómo se hace?».

Pues nada que me guste más que un buen reto. Así que me puse a investigar, cómo hacerlo de forma sencilla, teniendo en cuenta además que usa Genesis Framework. Y que desde luego podría ser buena idea añadir un atributo para que los enlaces de los comentarios de WordPress de autores, se abrieran en una nueva pestaña o ventana, y así no perder la visita en tu web.

Buscando en Google (para qué inventar la rueda si lo mismo ya esta inventada), encontré este código para añadir a tu fichero functions.php:

function comment_links_in_new_tab($text) {  $return = str_replace('<a', '<a target="_blank"', $text);  return $return;  }  add_filter('get_comment_author_link', 'comment_links_in_new_tab');  add_filter('comment_text', 'comment_links_in_new_tab');

Pero me pasaron varias cosas:

  1. No me gusta que se use la función php str_replace, pues al final es una especie de buscar y reemplazar, que busca una cadena de texto y la sustituye por otra, y consume muchos recursos.
  2. No me funcionó en Genesis Framework.

Por lo demás la veo bien hecha, y pienso que en un tema diferente a Genesis Framework podría funcionar.

También encontre un plugin,WP Open Comment Links in New Window, que soluciona el problema de abrir los comentarios de WordPress en una nueva ventana, pero añadiendo un plugin más a nuestra lista, y un javascript añadido.

De nuevo, más recursos.

Una solución que no me gusta un pelo.

Abrir los enlaces de comentarios en una nueva ventana para Genesis Framework

La solución definitiva para mí.

Lógicamente usando los «Action_hooks» y «Filter_hooks» de Genesis.

¿Recuerdas que te contaba que son esos «ganchos» que nos permiten insertar funciones personalizadas en nuestro Child Theme?

Pues resulta que hay un filter, asociado a al enlace del autor de un comentario, y que podemos usar para conseguir lo que queremos.

Así que simplemente añade estas lineas al functions.php de tu Child Theme (recuerda, solamente los basados en Genesis Framework):

 

Y voilà!

Funciona.

Pero nos falta una pequeña parte, que es conseguir que los enlaces que dejan los comentaristas en en esos comentarios, también se abran en una nueva ventana.

Para eso, añade al final del functions.php, además este código:

function rt_add_link_target( $content ){   	$bits = explode( '<a ', $content );   	foreach( $bits as $key=>$bit ){  	 		$pos = strpos( $bit, '>' );  	 		if( $pos !== false ){  		 			$part = substr( $bit, 0, $pos );  		 			$siteurl = network_site_url();  		 			if( strpos( $part, $siteurl ) === false && strpos( $part, 'target=' ) === false ){  			 				$bits[$key] = 'target="_blank" ' . $bits[$key];  			}  		}  	}   	return implode( '<a ', $bits );  }  add_filter( 'comment_text', 'rt_add_link_target' );  

Pruébalo en este mismo blog. Deja tu comentario, y haz clic en tu nombre para ver como tu web se abre en una nueva ventana.

Descubre lo que
necesitas ahora
para vender más

Realiza el Quiz ahora y conocerás el resultado al instante

¿Quieres saber qué herramientas uso en mi negocio, cuáles recomiendo a mis clientes y cuál necesitas tú ahora mismo, en el momento actual en el que te encuentras, para vender más o mejor en tu negocio digital?

Realiza ahora mismo el quiz tecnológico que he preparado, para determinar tu fase actual, y decirte en el instante en que deberías enfocarte ahora mismo para vender más o de la mejor forma posible

Mockup escritorio herramientas
Ir arriba