Я пытаюсь добавить редактор TinyMCE в мой веб-интерфейс, откуда пользователи могут публиковать сообщения, но пока что им не повезло. Вот код:
PHP:
add_action('wp_print_scripts', 'my_enqueue_scripts');
function my_enqueue_scripts() {
wp_enqueue_script( 'tiny_mce' );
if (function_exists('wp_tiny_mce')) wp_tiny_mce();
}
Javascript:
jQuery(document).ready(function(){
tinyMCE.init({
mode : "textareas",
theme : "simple",
/*plugins : "autolink, lists, spellchecker, style, layer, table, advhr, advimage, advlink, emotions, iespell, inlinepopups, insertdatetime, preview, media, searchreplace, print, contextmenu, paste, directionality, fullscreen, noneditable, visualchars, nonbreaking, xhtmlxtras, template",*/
editor_selector :"editor"
});
});
HTML:
<textarea rows="8" cols="40" name="description" id="editor" class="required"><?php echo $description;?></textarea>
Проблема: Текстедитор не добавляется в текстовую область. Хотя файл TinyMCE js загружается.
Ответы:
Что ж, благодаря wp 3.3 теперь у нас есть
wp_editor()
функция для этого :)источник
editor_selector
предназначен для таргетинга классов, а не идентификаторов.Также при использовании
editor_selector
его необходимо настроить,mode: "specific_textareas"
чтобы он работал.См. Http://tinymce.moxiecode.com/wiki.php/Configuration:editor_selector.
Итак, ваш JavaScript и HTML должны выглядеть так:
источник
Хотя ответ @maryisdead может быть правильным, я дам вам еще один совет, сначала убедитесь, что на вашей странице только один элемент с id = "editor", а затем настройте tinymce следующим образом:
Также используйте jQuery вместо $ в вашем коде javascript, чтобы убедиться, что вы вызываете методы и селекторы jQuery.
источник
editor_selector предназначен для классов, а не для идентификаторов.
Вы должны использовать значение editor_selector в качестве имени класса текстовой области.
источник