wp_editor en el extremo frontal - JavaScripts no incluidos

4

Estoy trabajando en un complemento de BuddyPress para un cliente que requiere que los usuarios puedan agregar contenido desde el front-end: nunca ven el back-end por razones de seguridad. Tengo el complemento escrito y funciona perfectamente, pero le falta una cosa: un editor de texto enriquecido para que los usuarios puedan personalizar su contenido (dentro de lo razonable, por supuesto). Hasta ahora, he ignorado esta solicitud del cliente y la he explicado como que no es posible sin mucho más trabajo.

Hoy, sin embargo, actualicé a 3.3 y noté la nueva etiqueta wp_editor . Probé algunos de los ejemplos mostrados aquí , pero no puedo hacer que ninguno de ellos funcione correctamente (una simple llamada produce el editor pero las pestañas y los botones de medios no funcionan, una matriz de configuración básica de TinyMCE no produce nada [solo un área de texto simple].) Inspección con las herramientas de desarrollo de Chrome revela que algunos archivos de JavaScript se incluyen en el área de administración que no se incluyen en la parte frontal. ¿Cuál es la mejor manera de incluir estos archivos y hacer que esto funcione? Gracias!

    
pregunta Joseph Leedy 15.12.2011 - 16:39

4 respuestas

2

tenga en cuenta que wp_editor se hará eco en la salida, no lo pondrá en una variable. Si quieres ponerlo en una variable, hazlo

ob_start();
wp_editor($content, 'textarea_rich', $args);
$html = ob_get_contents();
ob_end_clean();

y tienes lo que necesitas en $html . También puede ver enlace para una implementación que funcione.

Otro problema que noté es que algún problema es con w3-total cache minimizando (en realidad, tuve esos problemas con wp_tiny_mce , la función utilizada en wp < = 3.2; no he comprobado si tiene errores en wp_editor , también)

    
respondido por el boyska 07.02.2012 - 00:23
0

El siguiente código debería funcionar para usted. Solo asegúrate de que el textarea id sea en minúscula y alfanumérico.

$post = get_post( $post_id, 'OBJECT' );
$args = array(
    'wpautop' => true,
    'media_buttons' => true,
    'editor_class' => 'frontend',
    'textarea_rows' => 5,
    'tabindex' => 1
);                      
wp_editor( esc_html( $post->post_content ), 'textareaid2', $args );

Puede leer la documentación de la función wp_editor en esta página del Codex .

    
respondido por el byjml 21.12.2011 - 08:24
0

agregue esto al pie de página de su tema justo antes de la etiqueta de cuerpo de cierre:

<?php wp_footer(); ?>

todos los scripts del editor para wp_editor se muestran en el pie de página, y si su tema no tiene esta etiqueta, que llama a do_action('wp_footer'); , el editor no funcionará.

    
respondido por el dwenaus 09.01.2012 - 17:35
0

No sé si todavía estás trabajando en esto, pero puedes probar el complemento "WP User Frontend". Hace exactamente lo que quieres.

    
respondido por el Amal 19.12.2012 - 20:06

Lea otras preguntas en las etiquetas