Icono del sitio Imacreste

Insertar wysiwyg en el frontend de WordPress

Una de las características que convierten a WordPress en una herramienta perfecta para publicar contenido es su fantástico editor de texto Tinymce. Tinymce es un editor de texto de open source basado en HTML, lo que permite descargarlo desde su web y usarlo en cualquier web.

Funcionalidades del editor

Como podemos insertarlo en el FrontEnd

Habitualmente el editor lo vemos en el backend de WordPress por ejemplo al editar una entrada, las páginas, etc. Pero es posible incluirlo en los temas. Por ejemplo podemos crea una página con un formulario de recogida de información en la que tengamos una sección de texto libre que será nuestro editor de texto Wysiwyg.

Para mostrarlo por pantalla basta con:

wp_editor($texto_por_defecto,$nombre_campo,$array_datos);
$args = array(  
'quicktags' => false,  
'textarea_rows' => 5, 
'media_buttons' => false, 
'tinymce'       => array( 
'toolbar1'    => 'bold,italic,strikethrough,underline,forecolor,charmap,outdent,indent', 
'toolbar2'    => '', 
)
, ); 
$editor_id = 'mensaje';         
wp_editor( '', $editor_id, $args );

En este ejemplo es un editor que al enviarse queremos que se quede en blanco, el editor le ponemos de identificador mensaje y en la configuración hemos quitado la posibilidad de añadir imágenes, no permitimos usar el editor en formato HTML, establecer un tamaño de altura de 5 columnas, y finalmente establecemos 2 columnas de botones, en la primera metemos el negrita, cursiva, tachado, subrayado, selector de color, selector de caracteres especiales, y sangría izquierda y derecha.

Autoptimize

Autoptimize es un plugin muy bueno y muy conocido para mejorar la velocidad de nuestra web, permite entre otras funcionalidades minimizar el js. Y esto puede generar un problema en el frontEnd con la función wp_editor. Para que no se produzca debemos ir al gestor -> Ajustes -> Autoptimize y pincha sobre el botón: Mostrar opciones avanzadas. Y en el bloque Opciones de javascript debemos incluir en el input que permite excluir script el siguiente código al final del que tengas actualmente:

, tinymce, tinyMCE

Con este cambio ya podremos usar el plugin y funcionara el editor de textos.

Salir de la versión móvil