The script below is taken from a plugin that converts all textareas in the category and tags editors to rich text editors.
I’m using it to convert the category “Description” textarea input box to rich text. However, I have another text area on this same edit screen (one that I’ve added as a custom field) that I don’t want rich text enabled. However, the plugin applies rich text to all edit fields.
Can someone tell from the code below how to do one of the following:
Disable rich text on a textarea with ID “myTextarea”?
OR
Only apply the rich text to the Category “description” text area and no others? (preferred)
add_action('init', 'catde_init');
function catde_init() {
if ( is_admin() || defined('DOING_AJAX') ) {
if ( current_user_can('manage_categories') )
remove_filter('pre_term_description', 'wp_filter_kses');
}
}
add_action('load-categories.php', 'catde_admin_init');
add_action('load-edit-tags.php', 'catde_admin_init');
function catde_admin_init() {
if ( user_can_richedit() && isset($_GET['action']) && 'edit' === $_GET['action'] && ( !empty($_GET['cat_ID']) || ( !empty($_GET['taxonomy']) && !empty($_GET['tag_ID']) ) ) ) {
add_filter( 'tiny_mce_before_init', 'catde_mceinit');
add_action('admin_footer', 'wp_tiny_mce');
add_action('admin_head', 'catde_head');
}
}
function catde_mceinit($init) {
$init['mode'] = 'textareas';
$init['editor_selector'] = '';
$init['elements'] = 'category_description,description';
$init['plugins'] = 'safari,inlinepopups,autosave,spellchecker,paste,wordpress,media,fullscreen';
$init['theme_advanced_buttons1'] .= ',image';
$init['theme_advanced_buttons2'] .= ',code';
$init['onpageload'] = '';
$init['save_callback'] = '';
return $init;
}
function catde_head() { ?>
<style type="text/css">#category_description_tbl,#description_tbl{border:1px solid #dfdfdf;}.wp_themeSkin .mceStatusbar{border-color:#dfdfdf;}</style>
<?php
}
Currently you’re telling it to target all textareas on the page so you need to change
$init['mode'] = 'textareas';
to$init['mode'] = 'specific_textareas'
or$init['mode'] = 'exact'
and then name the textarea by id where you have$init['elements'] = 'category_description,description';
defined.To read more about tinyMCE options go to http://tinymce.moxiecode.com/wiki.php/Configuration and the mode configuration description is here http://tinymce.moxiecode.com/wiki.php/Configuration:mode