我正在创建一个Wordpress应用。 它包括使用自定义类型的自定义字段来管理个人项目。
我的问题:我想在前端添加管理员编辑器(tinyMCE)。 考虑到我可以有很多文本区域将开始TinyMCE编辑器。 因此,我使用了以下代码:
PHP(在theme functions.php上):
// TINY-MCE EDITOR ON FRONTEND
add_filter('wp_head','add_tinymce_editor');
function add_tinymce_editor(){
wp_admin_css('thickbox');
wp_enqueue_script('wp-tinymce');
wp_enqueue_script('tinymce');
wp_enqueue_script('editor');
add_thickbox();
}
JS(主题为single-projects.php):
jQuery(document).ready(function(){
// EDITORS
tinyMCE.init({
mode : "specific_textareas",
theme : "simple",
editor_selector :"tinymce_enabled"
});
});
在JS上,我为将开始tinyMCE编辑器的所有文本区域设置了带有类的“ editor_selector”。 我不能为每个文本区域分配一个ID,因为它们可以是4或5或6,或者更多!!!
HTML :(主题为single-projects.php):
<textarea name="new-task-description" id="new-task-description"
class="tinymce_enabled required"></textarea>
每个文本区域都出现在Jquery UI手风琴上。
现在,我的问题是,在Firebug(或浏览器控制台)上,出现以下错误:
tinyMCE is not defined
怎么了?
提前致谢!!!
借助Wordpress 3.3,您可以使用wp_editor()
,它更加简单。
http://codex.wordpress.org/Function_Reference/wp_editor
包含脚本的正确方法是add_action('wp_enqueue_scripts', 'tinymce_editor');
如果未定义tinymce,则文件tiny_mce.js尚未加载到页面上。 确保直接或使用wordpress提供的方式加载文件。