for all the hell that the autop function seems to give me when I don't want it, I have several custom meta boxes with tinyMCE textareas. and now they aren't saving
tags.. they seem to be ok w/ saving other html markup.
my html for one of my boxes looks like:
<div class="customEditor">
<div class="custom_upload_buttons" class="hide-if-no-js"><?php do_action( 'media_buttons' ); ?></div>
<?php $mb->the_field('below_content'); ?>
<textarea rows="10" cols="50" name="<?php $mb->the_name(); ?>" rows="3"><?php $mb->the_value(); ?></textarea>
</div>
the naming and stuff is all handled by WPAlchemy, hence the weird $mb->the_name() stuff
function my_admin_print_footer_scripts() { ?>
/*
/* * Multiple TinyMCE Settings */
settings = { mode:"specific_textareas", width:"100%", theme:"advanced", skin:"wp_theme", theme_advanced_buttons1:"bold,italic,strikethrough,underline,|,bullist,numlist,blockquote,|,justifyleft,justifycenter,justifyright,|,link,unlink,|,spellchecker", theme_advanced_buttons2:"formatselect,XXXforecolor,|,pastetext,pasteword,removeformat,|,outdent,indent,|,undo,redo,|,code", theme_advanced_buttons3:"", theme_advanced_buttons4:"", language:"en", spellchecker_languages:"+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv", theme_advanced_toolbar_location:"top", theme_advanced_toolbar_align:"left", theme_advanced_statusbar_location:"bottom", theme_advanced_resizing:"1", theme_advanced_resize_horizontal:"", dialog_type:"modal", relative_urls:"", remove_script_host:"", convert_urls:"", apply_source_formatting:"", remove_linebreaks:"1", gecko_spellcheck:"1", entities:"38,amp,60,lt,62,gt", accessibility_focus:"1", tabfocus_elements:"major-publishing-actions", media_strict:"", paste_remove_styles:"1", paste_remove_spans:"1", paste_strip_class_attributes:"all", wpeditimage_disable_captions:"", plugins:"safari,inlinepopups,spellchecker,paste,wordpress,tabfocus" };jQuery(document).ready(function($) { var $ta, id, mceID; $('.customEditor textarea').each(function(i){ $ta = $(this); id = $ta.attr('id'); if (!id){ id = 'customEditor-' + i; $ta.attr('id',id); } tinyMCE.settings = settings; tinyMCE.execCommand('mceAddControl',
false, id); });
$('.custom_upload_buttons a').each(function() { $(this).click(function() { mceID = $(this).parent().next('textarea').attr('id'); window.send_to_editor = window.send_to_editor_clone; }); window.send_to_editor_clone = function(html){ tinyMCE.execInstanceCommand(mceID, 'mceInsertContent', false, html); tb_remove(); } }); }); /* ]]> */</script><?php }
// important: note the priority of 99, the js needs to be placed after tinymce loads add_action('admin_print_footer_scripts','my_admin_print_footer_scripts',99);