Evitar HTML en los comentarios

Como ya sabrás, normalmente se pueden usar unas cuantas etiquetas HTML en el área de comentarios, como negritas, citas, añadir enlaces y alguno más. Pero si quieres eliminar esta posibilidad para que, por ejemplo, no te pongan enlaces a sitios externos con palabras clave y cosas así puedes evitarlo muy fácilmente.

Solo hay que recurrir al fichero functions.php de tu tema activo y editarlo para añadirle este código:

// Esto es lo que pasa cuando se publica un comentario
function plc_comment_post( $incoming_comment ) {
// convierte todo lo que haya en un comentario y lo muestra literalmente
$incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
// la única excepción son las citas sencillas, que no pueden ser #039; ya que WordPress las marca como spam
$incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] );
return( $incoming_comment );
}
// Esto es lo que pasará antes de mostrar un comentario
function plc_comment_display( $comment_to_display ) {
// Vuelve a habilitar las citas sencillas
$comment_to_display = str_replace( ''', "'", $comment_to_display );
return $comment_to_display;
}
add_filter( 'preprocess_comment', 'plc_comment_post', '', 1);
add_filter( 'comment_text', 'plc_comment_display', '', 1);
add_filter( 'comment_text_rss', 'plc_comment_display', '', 1);
add_filter( 'comment_excerpt', 'plc_comment_display', '', 1);

Guardas y ya está. Lo que hace este código es básicamente convertir los códigos a entidades HTML para que se muestren y no sean códigos activos.

Si quieres, el autor ha convertido este código en un plugin que puedes descargar al final de la entrada.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(2 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

14 comentarios en “Evitar HTML en los comentarios”

  1. Gracias por el tip. Muy útil, sin duda 🙂

    Otro tip de cara a la velocidad de carga, posicionamiento y todas esas cosas: intenta añadir el código a tu functions.php e incluirlo como una feature del tema. A mayor cantidad de plugins, más lento va el sistema.

    ¡Un saludo!

  2. Fernando, el código que pusiste para insertarlo en el archivo functions.php está incompleto, me fijé en la fuente y falta esto ultimo:

    }

    add_filter( 'preprocess_comment', 'plc_comment_post', '', 1);

    add_filter( 'comment_text', 'plc_comment_display', '', 1);

    add_filter( 'comment_text_rss', 'plc_comment_display', '', 1);

    add_filter( 'comment_excerpt', 'plc_comment_display', '', 1);

    de lo contrario, tirará un "Parse Error"

    saludos 😉

  3. Hola, se que la siguiente pregunta no viene a este gran post, pero me preguntaba, hay alguna forma de evitar (que no sea por IP), que un lector que comente en mi blog, no use mi mismo nombre para comentar, porque usa mi nombre para lanzar insultos y cualquier cosa que se le ocurra, hay forma de que solo yo pueda usar mi nombre y no la otra persona, gracias de antemano…

    PD: Buen blog, me ha ayudado bastante desde que lo conoci hace unos días.

    Saludos Cordiales.

    1. El modo exacto no lo sé, pero si puedes limitarlo obligando a registrarse para comentar y con el plugin register plus forzar a que cada email de registro sea único, que tengas que aprobar todos los registros y cosas así.

      1. Bueno, gracias, he estado buscando una manera para hacerlo directamente, pero al parecer no existe, espero alguna vez se implemente en wordpress, pero bueno, probaré el plugin, gracias por las respuestas!

        Saludos Cordiales!

  4. Pingback: Evite HTML nos comentários | Ajuda Wordpress em Português

Deja un comentario

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

 

Ir arriba Ir al contenido