Quitar link y web del autor de un comentario en WordPress

Si administras algunos blogs con mucho trasiego de gente y muchos comentarios (buenos y malos) y tienes que pelear todos los días en quitar aquellos autores de comentarios que se hacen llamar “bolas chinas” o “relojes caros” o “decoración hogar” …. que sólo comentan por el puro afán de spamear o conseguir links entrantes con la keyword o long tail de turno (que de paso digo que no sirven para nada, pero allá cada uno). Al final he decidido atajar y hacerles la vida un poco  más difícil.

Posibles soluciones:

  • La forma más radical sería desactivar los comentarios, pero yo prefiero que la gente tenga la oportunidad de interactuar con un blog, sino, sería un canal de una única dirección.
  • Quitar la petición de URL en el comentario, y para los comentarios viejos, hacer que aparezca sólo el nombre del autor, sin el link al site que se ha introducido en la URL.

Para llevar a cabo la segunda opción (que es la que prefiero), hay que crear una función en el fichero functions.php del la plantilla con el siguiente código:

function cus_comments($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li <?php comment_class(); ?> id=”li-comment-<?php comment_ID() ?>”>
<div id=”comment-<?php comment_ID(); ?>”>
<div>
<?php echo get_avatar( $comment->comment_author_email, $args['avatar_size'] ); ?>

<?php printf(__(‘<cite>%s</cite> <span>says:</span>’), get_comment_author()) ?>
</div>
<?php if ($comment->comment_approved == ‘0’) : ?>
<em><?php _e(‘Your comment is awaiting moderation.’) ?></em>
<br />
<?php endif; ?>

<div><a href=”<?php echo esc_url( get_comment_link( $comment->comment_ID ) ) ?>”><?php printf(__(‘%1$s at %2$s’), get_comment_date(),  get_comment_time()) ?></a><?php edit_comment_link(__(‘(Edit)’),’  ‘,”) ?></div>

<?php comment_text() ?>

<div>
<?php comment_reply_link(array_merge( $args, array(‘depth’ => $depth, ‘max_depth’ => $args['max_depth']))) ?>
</div>
</div>
<?php
}

Esta función la invocaremos desde el fichero comments.php de la plantilla de esta forma:

<?php wp_list_comments(‘type=all&avatar_size=40&callback=mis_comentarios’);?>

Con esto conseguimos que no aparezca el nombre del autor del comentario como un link.

Si además no queremos que pida la URL de la web del autor del comentario, entonces eliminamos del fichero comments.php de la plantilla todo la línea donde se invoca esto:

<?php echo $comment_author_url; ?>

El resultado quedaría así

comentarios

comentarios

 

Nota: reconozco que yo fui un spamer o lammer según se mire, que buscaba esos links :-) ¿y qué?

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>