Como limitar os caracteres do campo Rich Text

Introdução

Você gostaria de limitar os caracteres do campo de formulário Rich Text? Os campos de formulário Texto de linha única e Parágrafo têm um recurso interno que permite limitar os caracteres ou as palavras desse campo. Para saber mais sobre isso, dê uma olhada neste guia útil.

No entanto, se você quiser limitar os caracteres do campo de formulário Rich Text, poderá usar facilmente um pequeno snippet e, neste tutorial, mostraremos como fazer isso.

Criando o formulário

Comece criando um novo formulário e adicionando seus campos, incluindo pelo menos um campo de formulário Rich Text.

Se precisar de ajuda para criar seu formulário, consulte esta documentação.

Comece criando um formulário e adicionando seus campos, incluindo pelo menos um campo Rich Text

Adicionando o snippet

Agora é hora de adicionar o snippet ao seu site. Para obter ajuda sobre como e onde adicionar snippets ao seu site, consulte este tutorial.

/**
* Add Rich Text field validation.
*
* @link https://wpforms.com/developers/how-to-limit-characters-for-the-rich-text-field/
*/
 
function wpf_dev_validate_richtext( $field_id, $field_submit, $form_data ) {
 
    // Optional, you can limit to specific forms. Below, we restrict output to form #3382.
    if ( absint( $form_data[ 'id' ] ) !== 3382 ) {
        return $field_id;
    }

	// Set the maximum character limit here
    $max_characters = 150;

    // Check for character limit
    $char_count = mb_strlen( $field_submit, 'UTF-8' );
    if ( $char_count > $max_characters ) {
        $error_message = sprintf(
            esc_html__( 'Character limit exceeded. The maximum number of characters allowed is %d.', 'wpforms' ),
            $max_characters
        );
        wpforms()->process->errors[ $form_data['id'] ][ $field_id ] = $error_message;
    }
	
	
     
}
add_action( 'wpforms_process_validate_richtext', 'wpf_dev_validate_richtext', 10, 3 );

Esse snippet analisará apenas o ID de formulário 3382. Você precisará atualizar esse número de ID para que corresponda ao seu próprio ID de formulário. Se não tiver certeza de onde encontrar o número de ID do formulário, consulte este tutorial.

A próxima parte do snippet está analisando a variável $max_characters, que está definida para ter um limite de 150 caracteres. À medida que o snippet for processado, ele examinará e contará os caracteres (formato UTF-8) nesse campo e, se o número de caracteres exceder o limite de 150, quando o formulário for enviado, será exibido um erro.

limite de caracteres para o Rich Text usando o snippet

E isso é tudo o que você precisa para limitar os caracteres do campo Rich Text. Também gostaria de impedir que os usuários digitem um URL nesse campo? Dê uma olhada no nosso tutorial sobre Como bloquear domínios dos seus campos de texto.

Referência da ação: wpforms_process_validate_richtext