Kein Codefilter beim Wechsel von HTML zu visuellem Editor, wie?

9

Ja, ich habe andere Fragen zu diesem Thema gefunden, aber nein, ich habe genau das gleiche Thema und keine Lösung für mein Problem.

Wenn Sie Code in die HTML-Registerkarte einfügen und in den visuellen Modus wechseln, formatieren Sie den Code in einen Block, entfernen Sie alle Unterbrechungen und lassen Sie Zeilen, siehe Screenshots. Ich denke, das ist leichter zu verstehen als mein schlechtes Englisch.

Mein Beispiel in HTML-Tab Geben Sie hier die Bildbeschreibung ein

das gleiche Beispiel nach dem Wechsel zu visuell Geben Sie hier die Bildbeschreibung ein

Meine Tests für eine Lösung. Ich habe dies getestet, um WP dafür mit dem folgenden Test-Plugin zu stoppen, das auch in diesem Gist 1663554 lesbar ist

add_filter( 'tiny_mce_before_init', 'fb_tinymce', 9 );

function fb_tinymce( $init ) {

    $init['fix_list_elements'] = FALSE;
    $init['wpautop'] = FALSE;
    $init['remove_linebreaks'] = FALSE;
    $init['apply_source_formatting'] = TRUE;
    $init['extended_valid_elements'] .= ',pre[*],code[*]';

    return $init;
}

Vielleicht hat ein anderer Leser eine Lösung für dieses Thema.

bueltge
quelle
Habe ich das richtig verstanden? Sie möchten den Editor anhalten, um Zeilenumbrüche im Code zu entfernen?
Kaiser
Ja, wenn Sie Code in den HTML-Editor einfügen und in den visuellen Modus wechseln, entfernt WP alle Unterbrechungen, Absätze. Dies funktioniert mit der editor.js und ich mag keinen Filter dafür; Vielleicht ist es hart codiert und mein einziges Ziel ist es, dieses js zu ersetzen. aber es ist nicht sehr gut; Ich werde diese einmalige Funktion deaktivieren.
Bueltge

Antworten:

3

Ja, es ist ein totaler Schmerz. 99% der Tutorials zum Deaktivieren von wpautop verpassen das Tab-Switch-Ereignis vollständig. Auf jeden Fall sollten Sie mein Plugin ausprobieren - http://wordpress.org/extend/plugins/preserved-html-editor-markup/

Dies schützt Ihr Markup nicht nur vor Beschädigungen durch wpautop, sondern bewahrt auch Zeilenumbrüche und Einrückungen, während Sie weiterhin sowohl den HTML-Editor als auch den visuellen Editor verwenden können.

Die aktuelle Version deaktiviert wpautop wirklich. Wenn Sie also vorhandenen Inhalt haben, der von wpautop abhängt, wird Ihre Website möglicherweise nicht richtig gerendert, ohne den vorhandenen Inhalt zu ändern. Ich arbeite an einer neuen Version, die vorhandene Inhalte stapelweise neu formatiert, um dies zu korrigieren. Es sollte bis Ende der Woche fertig sein.

Marcus Pope
quelle
Version 1.5 steht kurz vor der Veröffentlichung und wird auch echte Skriptblöcke unterstützen. Und Version 1.4 (derzeit stabil) ermöglicht die bedingte Aufnahme von p-Tags oder br-Tags, sodass Sie beide nach Ihren Wünschen verwenden können.
Marcus Pope
Haben Sie die Funktionen für meine Frage mit JS oder PHP über Filter realisiert? Ich suche nur eine Funktion, die den Code innerhalb von preoder codeunverändert von tinyMCE war. Ich werde keine Lösung finden, es gibt Filter nach the_content, während mehr Leistung ist. Vielen Dank!
Bueltge
@bueltge - Ich habe die Frage nicht ganz verstanden. Mein Plugin behebt dieses Problem sehr stark, daher kann ich die von mir verwendeten Filter nicht kurz beschreiben. Sie können sich sicherlich den Quellcode meines Plugins ansehen, um herauszufinden, wie ich es gemacht habe.
Marcus Pope
Ja, ich kann Ihre Quelle einlesen. aber vielleicht ist es einfacher, wenn Sie mir eine Notiz über die Lösung nur für mein Problem der Frage geben. Ihr Plugin behebt viele Themen in diesem Bereich.
Bueltge
0

Ich denke, die einfachste Lösung für das, was Sie beschreiben, ist ein Plugin wie: http://wordpress.org/extend/plugins/wp-no-format/

Vielleicht möchten Sie sich aber auch Syntax-Hervorhebungs-Plugins ansehen ... es gibt sogar eines zum Einbetten von Gists nach ID.

jb510
quelle
Ich denke, das ist keine Lösung, dieser Plugin-Filter nur the_content-Hook. Dieser Hook befindet sich nur im Frontend, um den Inhalt abzurufen, nicht im Editor.
Bueltge
Es tut uns leid. Das ist richtig, dies hindert den visuellen Editor nicht daran, den Code neu zu formatieren. Es ist lange her, dass id ihn tatsächlich verwendet hat und jetzt auf die alte Site schaue, die ich in Verbindung mit Disable Visual Editor verwendet habe.
jb510
0

Verwenden Sie das Plugin Scripts n Styles. http://wordpress.org/extend/plugins/scripts-n-styles/ Es wurde erfunden, um "durch Reifen zu springen" und wpautop-Fehler zu vermeiden, insbesondere die Tab-Switching-Fehler.

Sie würden [sns_shortcode name = "{name}"] im Editor und Ihren Inhalt auf der Registerkarte "Shortcodes" eingeben. Die Syntax ist hervorgehoben und ich habe hart gearbeitet, um sie gut zu codieren.

WraithKenny
quelle