2016-03-21 11 views
0

Ich versuche, tinyMCE zu einem Formularfeld in WordPress hinzuzufügen. Das Formular selbst wird von einem Plugin (JobRoller) generiert. Die Seite hat bereits eine Vorlage und Kindvorlagen, die mir gesagt wurden, dass ich sie nicht anfassen sollte. Meine Lösung bestand darin, ein einfaches Plugin zu erstellen, das ein JavaScript sowohl mit tinyMCE CDN ​​als auch mit dem folgenden Code in die Warteschlange stellt.tinyMCE ist ein Objekt in WordPress, aber "tinyMCE.init ist keine Funktion"

Der folgende Code ist das gesamte JavaScript, das ich hinzufüge.

if (typeof(tinyMCE) == "object" && typeof(tinyMCE.execCommand) == "function") { 
    alert('b'); 
    tinyMCE.init({ 
     selector: 'textarea', 
     plugins: 'textcolor link paste', 
     height: 300, 
     menubar: false, 
     toolbar: [ 
      'bold italic underline strikethrough subscript superscript bullist numlist alignleft aligncenter alignright alignjustify link unlink', 
      'formatselect forecolor copy cut paste pastetext removeformat indent outdent undo redo' 
     ] 
    }); 
} 

Wenn ich laufen lasse, erhalte ich die „b“ von alert('b'); aber auch diese Meldung erhalten:

Uncaught TypeError: tinyMCE.init is not a function 

Wenn Art von TinyMCE ist ein Objekt und execCommand ist eine Funktion, wie ist es möglich, dass tinyMCE.init ist keine Funktion?

Jede Hilfe würde sehr geschätzt werden.

+0

Verwenden Sie die dev-Konsole in Ihrem Browser (normalerweise f12) und überprüfen Sie die Konsole auf Ladefehler. Wenn eine Datei fehlt, zum Beispiel die Bibliothek oder die jquery-Versionsbibliothek (wie hier vorgeschlagen: http://community.tinymce.com/forum/viewtopic.php?id=21116), wird sie nicht korrekt geladen. – jdersen

+0

Ich schlage vor, Sie schauen auf https://codex.wordpress.org/Function_Reference/wp_editor und https://wordpress.org/support/topic/how-can-i-use-the-tinymce-editor-for-fields- In-meinem-Kunden-Post-Typ –

Antwort

0

Das Problem wurde durch einen Konflikt mit einem CKEditor-Plugin verursacht, das der Websitebesitzer installiert hatte. Das Deaktivieren des Plugins löste das Problem.