beim Wechsel von HTML nach Visual Editor
Registerkarten, die in einem
-Block platziert sind, werden entfernt und Zeilenumbrüche werden entfernt, so dass eine einzige durchgehende Textzeile verbleibt. Dies tritt auf, wenn von HTML zu visuellen Editoren gewechselt wird. Gibt es eine Einstellung in TinyMCE, um dies zu vermeiden?
VOR:
NACH:
Hier entlarvt es sogar den Code und spuckt Teile davon aus
...BEARBEITEN:
Ich denke, die beste Option ist, das
-Tag vollständig zu entfernen und das Pre zu verlassen. Dies hat immer noch das Problem, doppelte Leerzeilen zu entfernen, aber es behält den Vorgriff unberührt, auch wenn zwischen den Editoren gewechselt wird.
Solutions Collecting From Web of "Das Speichern von Tabulatoren und Zeilenumbrüchen in
beim Wechsel von HTML nach Visual Editor"
- Wie kann ich Zeilenumbrüche von manuell formatiertem HTML entfernen?
- So aktivieren Sie das -Tag in Wordpress-Posts und -Seiten
- Zeilenumbrüche funktionieren nicht beim Bearbeiten eines Posts
- Slider, der Untertitel- / Auszugspausen entfernt
- Wie mache ich einen Shortcode mit einem Zeilenumbruch darin richtig zu parsen?
- Wechseln Sie frei zwischen den Registerkarten "Visual" und "HTML"
- Wie kann ich den visuellen Editor von Wordpress erzwingen, um die Zeilenumbrüche nach Absätzen beizubehalten?
- Problem, mehr als einzelne Zeilenüberschriften zurückzugeben
Zu function.php hinzufügen
add_filter('tiny_mce_before_init', 'tiny_mce_before_init');
Und function tiny_mce_before_init:
function tiny_mce_before_init($init) { $init['setup'] = "function(ed) { ed.onBeforeSetContent.add(function(ed, o) { if ( o.content.indexOf('
]*>[\\s\\S]+?< \\/pre>/g, function(a) { return a.replace(/(\\r\\n|\\n)/g, '
'); }); } }); }"; return $init; }http://core.trac.wordpress.org/ticket/19666 – es ist bekannt, Bug, es gibt einen Workaround, aber nicht beheben Tabs nur neue Zeile Zeichen
Ich habe auch benutzerdefinierte shortcodes zu functions.php hinzugefügt, um zu vermeiden, dass Dinge beim Wechsel von HTML zu visuellen Editoren brechen. Hauptsächlich habe ich das für iFrames verwendet, aber vielleicht wäre es auch hier hilfreich.
Dieses Plugin scheint Leerzeichen zwischen
Tags zu erhalten.
Beibehaltung der Code-Formatierung
Für alle, die mit dem Einfügen von formatiertem
-Code im Visual Editor Probleme haben . Diese Lösung arbeitet seit vielen Jahren für mich und ich liebe es . Dieser Ansatz verwendet eine "mittlere", um korrekte Pre-Content und Zeichen zwischen den Editoren und
wpautop()
Frontend zu dienen.Einfach in die functions.php einfügen
Es scheint schwer, aber deshalb muss jQuery im globalen Rahmen sein, da es mit der API von TinMCE kommuniziert. Das Dollarzeichen
$
kann NICHT verwendet werden und derjQuery
Text macht den Code unübersichtlich. Es ist meist die Erstellung von HTML-Elementen , die Platz braucht.Wie es funktioniert: Ziemlich einfach, ohne es zu "berühren" -TinyMCE verwirren Sie es nicht . Es lohnt sich, es auszuprobieren!
/** * PRE Handler * Solves
handle in WordPress tinyMCE editor * TAB support * TAB support to TEXT editor * Simple cleanup with Undo * Push cleanup (experimental) * Moves empty code chunks to beginning **/ function entex_tiny_mce_before_init(){ add_filter('tiny_mce_before_init', function($mceInit){ $mceInit['setup'] = 'ua_TinyMCE_setup_callback'; return $mceInit; }); add_action('before_wp_tiny_mce', 'entex_TinyMCE_javascript'); } add_action('after_setup_theme', 'entex_tiny_mce_before_init'); function entex_TinyMCE_javascript() { echo ''."\n"; }Dieser Ansatz ist kein Hack oder eine schlechte Preg-Match-Lösung. Es erzeugt dieselben Konvertierungen wie die Standard-API.
Die PUSH-Bereinigung funktioniert, wenn Sie einen Code aus einer PHP-class oder was auch immer einfügen und die Chunk- oder Cutted-Out-function, die Sie präsentieren wollen, viel Platz oder Tabs "davor" hat. Es berechnet den Platz, der in der ersten vorhandenen Zeile auftritt.
Macht das:
if(search_string){ var firstChar = search_string[0]; var remove = workspace.substr(0, workspace.indexOf(firstChar)); remove = "\r\n" + remove; data = ua_TinyMCE_helper_cleanBeginnings(data, remove, "\r\n"); }
Das mögen:
if(search_string){ var firstChar = search_string[0]; var remove = workspace.substr(0, workspace.indexOf(firstChar)); remove = "\r\n" + remove; data = ua_TinyMCE_helper_cleanBeginnings(data, remove, "\r\n"); }
Übrigens , es kommt mit einem praktischen Fokus-Knopf , erscheint unten rechts im Editor und ist nützlich, wenn Sie mit einer großen Menge von
-Code-Chunks arbeiten. Deaktivieren Sie die Bildschirmeinstellungen "Aktivieren Sie den Editor für volle Höhe und die ablenkungsfreie function." für eine bessere Benutzeroberfläche.