No estoy seguro de por qué no he podido encontrar esto, pero ¿alguien sabe cómo obtener la entrada del editor de TinyMCE? Lo estoy usando en el front-end y quiero poder guardar lo que el usuario haya escrito en el TinyMCE en una base de datos, pero no puedo encontrar la mejor manera de capturar ese valor.
Las dos soluciones que he implementado con cierto éxito son:
tinyMCE.activeEditor.getContent();
- Parece que este solo obtiene el valor del editor visual, por lo que si estoy en el editor HTML y hago cambios y luego los guardo, no se recogen.$('#html_text_area_id').val();
- Este es lo contrario, solo parece obtener el valor del editor HTML.
Sé que hay una mejor manera, parece que no puedo encontrarla ...
ps Sí, voy a implementar medidas de seguridad para asegurarme de que las personas no puedan hacer explotar la base de datos.
val()
Respuestas:
Ok, aparentemente WordPress realiza un seguimiento de qué tipo de editor (visual o html) está activo como una clase que se agrega al contenedor de contenido, así que aquí hay una solución que le proporcionará el contenido más reciente en el editor
fuente
Ese es el código que agregué a mi javascript, justo antes de enviar el formulario.
fuente
Esto funcionó para mí:
Donde la descripción es el ID del editor de tinymce y el código después de lo demás de la respuesta aceptada, no funcionó para mí.
fuente
Necesitaba mucho más código para que funcionara, y también recibía un error de JavaScript:
Deprecated TinyMCE API call: <target>.onKeyUp.add(..)
esto fue causado por una actualización de WordPress de 3.xa 4. Entonces tuve que hacerloclear my browser cache
primero.En primer lugar, agregué una devolución de llamada al filtro wp
tiny_mce_before_init
en mi archivo functions.php, esto me permitió agregar una función de devolución de llamada js para que se active cuando se inicializan los editores:A continuación, la función de JavaScript para hacer lo que quiera con el contenido cuando cambie. Agregue este javascript usando wp_enqueue_scripts a la página que desee.
El código funcionó cuando usé lo siguiente para imprimir el editor en cualquier página:
fuente
Puede obtener el contenido según el modo actual del editor.
La pestaña Visual tiene una clase
switch-tmce
que puede usar para identificarla como una pestaña. Sabrá que se ha enfocado si tiene el color de fondo más claro. Por lo tanto, también puede usar eso para determinar cuál de las dos pestañas está activa.Esta es una solución adaptativa basada en la respuesta de Bainternet . Probablemente hay otras formas mejores de hacerlo, pero esta funcionó bien para mí.
fuente
También puede usar
addeditor
evento:Documentación del evento 'additor' de TinyMCE
fuente