Tinymce / WordPress entfernt alle Zeilenumbrüche?

In meinem WordPress-Theme habe ich ein benutzerdefiniertes Optionsfeld mit Textareas, die das in WordPress enthaltene tinymce-Skript verwenden.

Dies funktionierte gut, bis ich auf die neueste Version von WordPress (3.2) upgraden konnte. Jetzt funktioniert der Editor noch, aber es entfernt alle Absatz- und Zeilenumbrüche, sobald ich meinen Code gespeichert habe. Während ich meinen Text in den Editor einfüge, sieht er gut aus und zeigt alle Zeilenumbrüche in der Vorschau an, aber sobald ich ihn gespeichert habe, sind alle weg. Andere Tags (b, img, a) scheinen gut zu funktionieren.

Nun könnte dies ein Problem mit WordPress sein, aber auf der gleichen Seite enthielt das WordPress-Upgrade auch die neueste und neueste Version von Tinymce, was das Problem verursachen könnte.

Wenn ich den Tinymce-Editor deaktiviere und Standard-Textfelder verwende, werden alle Tags und Zeilenumbrüche gespeichert.

EDIT: Es funktioniert. Benötigt, um meine Ausgabewerte vor dem Speichern in wpautop () zu verpacken. Jetzt ist mein Wert wpautop ($ output [$ option_array [‘id’]]);

Hier ist der Code, den ich benutze, um den Tinymce-Editor zu initiieren:

 'advanced', 'skin' => 'default', 'theme_advanced_resizing' => 'false', 'theme_advanced_path' => 'false', 'theme_advanced_buttons2' => '', 'theme_advanced_buttons1' => 'code,bold,italic,underline,|,justifyleft,justifycenter,justifyright,forecolor,fontsizeselect,link,unlink,image', 'width' => '650px', 'media_strict' => 'false', 'valid_elements' => '*', 'extended_valid_elements' => '*', ) ); ?> 

Solutions Collecting From Web of "Tinymce / WordPress entfernt alle Zeilenumbrüche?"

Möglicherweise müssen Sie einen der folgenden Konfigurationsparameter verwenden:

 // Don't remove line breaks 'remove_linebreaks' => false; // Convert newline characters to BR tags 'convert_newlines_to_brs' => true; 

WordPress übergibt ein $init Argumentarray an TinyMCE, das für jeden dieser Parameter den entgegengesetzten Wert festlegt.

Ich nehme an, Sie können sie direkt in Ihrem wp_tiny_mce() Argument-Array übergeben, aber ich habe es nicht versucht; Ich übergebe sie als Array-Parameter für einen benutzerdefinierten Filter des TinyMCE $init Arrays.

Ich lade nicht den vollen Editor, aber die Kontrolle, welche TinyMCE Plugins geladen werden, macht den Trick. Zum Beispiel brauche ich für meine Zwecke nur das Einfügen-Plugin, also habe ich hinzugefügt:

 'plugins' => 'paste' 

zu dem Array.

Ich weiß nicht genau, welches Plugin dazu führt, dass die p- und br-Tags oben entfernt werden, aber durch etwas Versuch und Irrtum oder durch den Code der Plugins kann man herausfinden, welche nicht enthalten sind. Hier sind die Plugins, die standardmäßig geladen sind:

 'inlinepopups', 'spellchecker', 'tabfocus', 'paste', 'media', 'wordpress', 'wpfullscreen', 'wpeditimage', 'wpgallery', 'wplink', 'wpdialogs' 

Wenn Sie Ihre Werte im Frontend anzeigen, führen Sie sie durch den Filter: ‘the_content’. Es gibt auch eine function, die vor dem Vorbereiten des Inhalts in der Texteingabe aufgerufen werden muss.