Próbuję dodać edytor TinyMCE w moim interfejsie, z którego użytkownicy mogą publikować, ale jak dotąd nie mieli szczęścia. Oto kod:
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>
Problem: Texteditor nie dodaje się do obszaru tekstowego. Chociaż trwa ładowanie pliku js TinyMCE.
Odpowiedzi:
Cóż, dzięki wp 3.3 mamy teraz do tego
wp_editor()
funkcję :)źródło
editor_selector
jest przeznaczony do kierowania na klasy, a nie identyfikatory.Ponadto podczas używania
editor_selector
należy ustawićmode: "specific_textareas"
, aby działał.Zobacz http://tinymce.moxiecode.com/wiki.php/Configuration:editor_selector
Twój JavaScript i HTML powinny wyglądać tak:
źródło
Chociaż odpowiedź @maryisdead może być poprawna, dam ci kolejną wskazówkę, najpierw upewnij się, że na stronie jest tylko jeden element z id = "editor", a następnie skonfiguruj tinymce w następujący sposób:
Użyj również jQuery zamiast $ w kodzie javascript, aby mieć pewność, że wywołujesz metody i selektory jQuery.
źródło
Editor_selector jest dla klas, a nie dla identyfikatorów.
Powinieneś użyć wartości editor_selector jako nazwy klasy obszaru tekstowego.
źródło