Según lo que indica la documentación de wordpress.com, hay un grupo de etiquetas html permitidas en el editor “html / texto” que son:
address, a, abbr, acronym, area, article, aside, b, big, blockquote, br, caption, cite, class, code, col, del, details, dd, div, dl, dt, em, figure, figcaption, footer, font, h1, h2, h3, h4, h5, h6, header, hgroup, hr, i, img, ins, kbd, li, map, ol, p, pre, q, s, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, var
Aún así, el CRM WordPress.* realiza una serie de limpiezas por medio de filtros, sobre el texto introducido; algunos de estos filtros pueden ser “tuneados” para modificar el comportamiento y así, el resultado final (por supuesto, solo en WordPress.org, ya que en WordPress.com, no tenemos acceso a los fuentes o a la configuración). El archivo /wp-includes/class-wp-editor.php
es el responsable del editor de texto y en él, podemos cambiar algunos parámetros. Este módulo, hace uso de una versión propia del conocido editor “Open Source”, TinyMCE
Cambiando los filtros de TinyMCE
Si se quiere “tunear” la apariencia (los botones) o la presentación general mediante CSS, o se quiere cambiar la función de limpieza de estilos, “spans”, etc. se puede modificar el arreglo interno de configuración, mediante el uso de “tiny_mce_before_init
”.
Si buscas información sobre cómo modificar aspectos del editor TinyMCE, te sugiero este post (en inglés): wordpress tinymce editor
Más abajo verás la configuración por defecto, estas son mis preferencias:
function my_format_TinyMCE( $in ) {
$in[‘remove_linebreaks’] = false;
$in[‘gecko_spellcheck’] = false;
$in[‘keep_styles’] = true;
$in[‘accessibility_focus’] = true;
$in[‘tabfocus_elements’] = ‘major-publishing-actions’;
$in[‘media_strict’] = false;
$in[‘paste_remove_styles’] = false;
$in[‘paste_remove_spans’] = false;
$in[‘paste_strip_class_attributes’] = ‘none’;
$in[‘paste_text_use_dialog’] = true;
$in[‘wpeditimage_disable_captions’] = true;
$in[‘plugins’] = ‘tabfocus,paste,media,fullscreen,wordpress,wpeditimage,wpgallery,wplink,wpdialogs,wpfullscreen’;
$in[‘content_css’] = get_template_directory_uri() . «/editor-style.css»;
$in[‘wpautop’] = true;
$in[‘apply_source_formatting’] = false;
$in[‘block_formats’] = «Paragraph=p; Heading 3=h3; Heading 4=h4″;
$in[‘toolbar1’] = ‘bold,italic,strikethrough,bullist,numlist,blockquote,hr,alignleft,aligncenter,alignright,link,unlink,wp_more,spellchecker,wp_fullscreen,wp_adv ‘;
$in[‘toolbar2’] = ‘formatselect,underline,alignjustify,forecolor,pastetext,removeformat,charmap,outdent,indent,undo,redo,wp_help ‘;
$in[‘toolbar3’] = »;
$in[‘toolbar4’] = »;
return $in;
}
add_filter( ‘tiny_mce_before_init’, ‘my_format_TinyMCE’ );
Si vemos el archivo /wp-includes/class-wp-editor.php
, encontraremos una declaración:
$set = wp_parse_args( $settings, array(
y es aquí donde podemos hacer algunos cambios como el de
'wpautop' => false,
con el que podemos cambiar el comportamiento del filtro que añade automáticamente las etiquetas “<p>” y “</p>”
Por defecto, el código de esta declaración es:
$set = wp_parse_args( $settings, array(
'wpautop' => true,
'media_buttons' => true,
'default_editor' => '',
'drag_drop_upload' => false,
'textarea_name' => $editor_id,
'textarea_rows' => 20,
'tabindex' => '',
'tabfocus_elements' => ':prev,:next',
'editor_css' => '',
'editor_class' => '',
'teeny' => false,
'dfw' => false,
'_content_editor_dfw' => false,
'tinymce' => true,
'quicktags' => true
) );
self::$this_tinymce = ( $set[‘tinymce’] && user_can_richedit() );
8 comentarios
Esto empieza a ser muy interesante
Je je, gracias! De vez en cuando, me gusta bucear. 😛