Cómo limitar caracteres en editor wp_editor()

  • Autor Autor pedro56
  • Fecha de inicio Fecha de inicio
pedro56

pedro56

Zeta
Verificación en dos pasos activada
Verificado por Whatsapp
Hola comunidad 🧡

Estoy utilizan la funcion wp_editor() para generar un editor simple en un elemento textarea, de momento el editor esta funcionando bien, pero me gustaría limitar el número de caracteres a escribir en este editor, además de que salga un contador de caracteres informando en todo momento cuantos son los caracteres restantes que hacen falta.

¿Cómo logro hacer esto en mi editor?

Esta es una captura de pantalla del editor que estoy construyendo:

misi.webp


Gracias de antemano por su ayuda.
 
PHP:
add_filter( 'tiny_mce_before_init', 'wpse24113_tiny_mce_before_init' );
function wpse24113_tiny_mce_before_init( $initArray )
{
    $initArray['setup'] = <<<JS
[function(ed) {
    ed.onKeyDown.add(function(ed, e) {
        if(tinyMCE.activeEditor.editorId=='content-id') {
            var content = tinyMCE.activeEditor.getContent();
            var max = 300;
            var len = content.length;
            if (len >= max) {
              $('#charNum').html('<span class="text-error">No puedes escribir m&aacutes de '+max+' car&aacutecteres!</span>');
            } else {
             var charCount = max - len;
             $('#charNum').html(charCount + ' characters left');
            }
         }
    });

}][0]
JS;
    return $initArray;
}

Cambia el 300 por el número de carácteres.
 
Asumo que este código lo inserto en el archivo functions.php. ¿Verdad?
 
La cuestión también es que quiero aplicar esta configuración a un solo textarea en concreto, no a todos los textarea del sitio web.

¿Esta configuración modificaría todos los textarea del sitio web?
 
¿Alguien me puede ayudar?
 
¿Alguna ayuda?
 
¿Alguna ayuda?
 
¿Qué textarea en concreto quieres limitar? ¿El del wp-admin cuando escribes una entrada?

El problema de limitar por carácteres es que no limitas solamente el número de letras, sino que con poner un simple color rojo a un texto o alinear el texto (derecha, cnetro u izquieda, un título o cualquier cosa ya te mete un montón de relleno.

Yo creo que te vale más la pena no limitarlo y controlar cada artículo individualmente porque por un par de letras más puede ser la diferencia entre una buena entrada o no.
 
Gracias por tu respuesta @Accesito.

Te voy a poner un poco en contexto.

Estoy construyendo un foro utilizando el plugin wpForo, desafortunadamente en el textarea donde el usuario pone su firma, puede colocar caracteres a placer, mira esto:

ml.webp

Seria una muy buena idea limitar el numero de caracteres en este texarea.

Me puede ayudar...
 
lo mas facil que puedes hacer es crear un javascript que limite los caracteres a 300 mientras la persona escribe si quiere escribir mas de 300 no lo dejara esto funcionaria para usuarios normales si ya un cracker con buenos conocimientos mueve el javascript te puede molestar bastante, aparte alguien que quiera molestar en el foro hace un script automatizado por ejemplo yo que realizo script automatizado te podria romper la base de datos con contenido basura, creo que deberias reportarlo tambien a lo de los wpforo.
 
Última edición:
pero por lo que veo en la caja es una caja de texto tarea bastante simple podrias hacerlo lo que dice el otro amigo solo que te toca identificar donde wpforo hace las peticiones de guardado en la base de datos y hacer un gancho para lanzar una alerta y no permita + de 300 caracteres en fin , toca mirar eso aparte de maquetar la alerta.
 
Atrás
Arriba