Editor WYSIWYG en el perfil del usuario WordPress

Con WordPress 3.3 se ha añadido una nueva función wp_editor que sirve para mostrar un editor WYSIWYG. Podemos utilizarla en plugins, en plantillas o en cualquier sitio que queramos dentro de WordPress.

En mi caso, necesitaba poner un editor WYSIWYG en el perfil del usuario, para que los autores puedan escribir texto enriquecido en su biografía. Para ello tengo creado un plugin y dentro de él invoco el siguiente código:

function kpl_user_bio_visual_editor( $user ) {
// Requires WP 3.3+ and author level capabilities
if ( function_exists('wp_editor') && current_user_can('publish_posts') ):
?>

$description = get_user_meta( $user->ID, 'description', true);
wp_editor( $description, 'description' );
?>

endif;
}
add_action('show_user_profile', 'kpl_user_bio_visual_editor');
add_action('edit_user_profile', 'kpl_user_bio_visual_editor');

/**
* Remove textarea filters from description field
*/
function kpl_user_bio_visual_editor_unfiltered() {
remove_filter('pre_user_description', 'wp_filter_kses');
add_filter('pre_user_description', 'wp_filter_post_kses');
add_filter('pre_user_description', 'wptexturize');
add_filter('pre_user_description', 'wpautop');
add_filter('pre_user_description', 'convert_chars');
add_filter('pre_user_description', 'balanceTags', 50);
}
add_action('admin_init','kpl_user_bio_visual_editor_unfiltered');

Información original de http://www.kevinleary.net/tinymce-wordpress-3-user-profile-pages/ aunque he añadido algún filtro para resolver las problemáticas que tiene WordPress con el autoformato, ya que añadía párrafos vacíos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>