WordPress Snippet: Establecer un mínimo de caracteres al comentar

WordPress Snippets - Establecer un mínimo de caracteres al comentar

En ocaciones vemos comentarios por la web que simplemente dicen «Ok«, «Buen trabajo«, «Buen tutorial«, etc..

Es posible que con esto nos baste pero también es posible que no nos interesen eso comentarios tan cortos y que necesitemos establecer algún mecanismo para establecer un mínimo de caracteres en los comentarios y así forzar al usuario que comenta a explayarse un poco más.

Pues bien, para trabajar con lo comentario disponemos del hook: «preprocess_comment» que más o menos nos hacemos una idea de en qué momento se ejecuta.

Lo que haremos será modificar el tamaño mínimo establecido para comentarios utilizando el hook que acabamos de comentar.

add_filter( 'preprocess_comment', 'set_minimal_length_for_comments' );

Llamaremos a la función que se ejecutará en el filter hook «preprocess_comment» como: «set_minimal_length_for_comments«.

Pues bien, nos ponemos manos a la obra creando la función de momento:

function set_minimal_length_for_comments( $comment ) {

    return $comment;
}

Esta parte de momento la entendemos bien. La función recibe el comentario en una variable y al final de la función la devuelve, eso si, después de hacer unos procesos que le indicaremos.

    $min_length = 15;

    if ( strlen( trim( 'comment_content'] ) ) < $min_length ){
        wp_die( 'Los comentarios deben ser por lo menos de ' . $min_length . ' caracteres.' );
    }

Establecemos 15 como número mínimo de caracteres que deben tener los comentarios y posteriormente comprobamos si la longitud (en caracteres) del comentario es menor que 15. Si es así, muestra un aviso al usuario que está realizando el comentario.

Por lo tanto, ahora cuando alguien intente publicar un comentario corto como este:

wp-snippet-establecer-minimo-caracteres-comentario-01

No le dejará publicar el comentario y le mostrará un mensaje de aviso como el siguiente:

wp-snippet-establecer-minimo-caracteres-comentario-02

A continuación pongo el código completo de este Snippet:

Lo podéis utilizar simplemente incluyendo el código en el fichero «functions.php» de vuestro Tema o si lo queréis, podéis crear vuestro propio plugin.

Cualquier duda u observación me la podéis hacer llegar a través del formulario de contacto, a través de un comentario o en las redes sociales.

Espero que os sea de ayuda.

Saludos y hasta el próximo!