Ich versuche, einen TinyMCE-Editor in mein Frontend aufzunehmen, von dem aus Benutzer Beiträge schreiben können, aber bisher kein Glück gehabt haben. Hier ist der Code:
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 fügt keine Textfläche hinzu. Obwohl die TinyMCE-js-Datei geladen wird.
Antworten:
Nun, dank wp 3.3 haben wir jetzt die
wp_editor()
Funktion, das zu tun :)quelle
editor_selector
richtet sich an Klassen, nicht an IDs.Bei der Verwendung
editor_selector
muss außerdem eingestelltmode: "specific_textareas"
werden, damit es funktioniert.Siehe http://tinymce.moxiecode.com/wiki.php/Configuration:editor_selector
Ihr JavaScript und HTML sollten also so aussehen:
quelle
Auch wenn die Antwort von @maryisdead richtig sein mag, gebe ich Ihnen einen weiteren Tipp. Stellen Sie zunächst sicher, dass nur ein Element auf Ihrer Seite mit id = "editor" vorhanden ist, und richten Sie dann Tinymce wie folgt ein:
Verwenden Sie auch jQuery anstelle von $ in Ihrem Javascript-Code, um sicherzustellen, dass Sie jQuery-Methoden und Selektoren aufrufen.
quelle
editor_selector ist für Klassen und nicht für IDs.
Sie sollten den Wert von editor_selector als Klassennamen des Textbereichs verwenden.
quelle