Ich codiere derzeit an der Front-End-Bearbeitung in WordPress. Das Ergebnis sollte eine Evernote-ähnliche Bearbeitung mit WordPress-Posts sein.
Ein großes Problem ist die Einbindung der notwendigen Dynamik des Editors (Verschiebung in DOM (gelöst) und Get (gelöst) und Inhalt setzen).
Die WordPress-Datenbank speichert Markups ohne Absätze und fügt sie bei der Lieferung hinzu. Wenn Sie zunächst den Inhalt von tinymce in php
wp_editor( $content, $editor_id,$settings );
Der Inhalt wird (ohne Absätze) in den Textbereich geschrieben, tinymce entfernt dies auf init und führt etwas PROCESSING auf init durch und schreibt ihn in den visuellen Editor.
Um den Inhalt, den ich aus der WordPress-Datenbank abgerufen habe, dynamisch zu setzen, verwende ich
tinyMCE.get(editor_id).setContent(content);
aber leider scheint dies die auf tinymce init durchgeführte VERARBEITUNG zu umgehen, was zu einem Verlust von Zeilenumbrüchen und Absätzen führt.
Meine aktuelle Problemumgehung besteht darin, den Inhalt auf WordPress für den Worpress-Texteditor festzulegen und dann wieder auf den visuellen Editor umzuschalten, da dies die VERARBEITUNG von Umbrüchen und Absätzen auszulösen scheint:
jQuery( "#myeditor-html" ).trigger( "click" );
jQuery('#textarea_id').val(content);
jQuery( "#myeditor-tmce" ).trigger( "click" );
Ich mag diese Lösung wirklich nicht, weil
- WordPress empfiehlt keinen Wechsel, wenn Sie Ihre visuellen Inhalte lieben
- Ich möchte später den ‘Quicktags’-Texteditor deaktivieren
Meine Programmierkenntnisse sind nicht gut genug, um den Init-Code von tinymce zu lesen, und ich kann auch nicht finden, was WordPress tut jQuery( "#myeditor-tmce" ).trigger( "click" )
.
Da war jemand mit der gleichen Frage:
tinymce setContent entfernt neue Zeilen
aber diese Lösung ist so einfach, dass sie mit jedem erweiterten Markup (z. B. Listen) abstürzt.
Können Sie mir helfen, einen eleganten Code zu finden, um die Tinymce mit wp-Datenbankinhalten zu füllen, was bedeutet, die erwähnte VERARBEITUNG herauszufinden?