Und immer noch der Tiny MCE Wordpress Editor

Bild: kpgolfpro / pixabay.com

Mittlerweile verwende ich Wordpress 2.6.2 und habe mit Elke schon einige Tests durch, das Problem der Zeilenumbrüche in diesem Editor in den Griff zu bekommen.

In der Version 1 stellte Elke ein Plugin zur Verfügung, welches so aussieht:

function eb_posts_speichern() { global $user_ID; if (!current_user_can('edit_posts')) return $_POST['post_content']; $_POST['post_content'] = wp_richedit_pre($_POST['content']); return $_POST['post_content']; } add_filter('the_content', 'eb_content_umbruch'); function eb_content_umbruch($content) { $content = str_replace("\n","
", $content); return $content; } Das auch hier im Blog von Clever Clogs eingesetzt wird und eben auch diesen Text hier modifiziert.

Probleme bei der Version 1

Eigentlich keine, bis auf die ordnungsgemäße Umsetzung von Tabellen. Da passiert dann Folgendes mit dem Quellcode:

 

test texte abc xyz

 

 

 




 

Dadurch rutscht die Tabelle um viele Zeilen nach unten, so dass der Leser nicht mehr mit einer Tabelle rechnet. Schaltet man das Plugin aus, sind Tabellen wieder iO eingebunden, dann felhen jedoch im restlichen Text wie gewohnt die Zeilenumbrüche und p-Tags. Ein Teufelskreis.

Die neue Version 2 sieht so aus

function eb_posts_speichern() { global $user_ID; if (!current_user_can('edit_posts')) return $_POST['post_content']; $_POST['post_content'] = wp_richedit_pre($_POST['content']); return $_POST['post_content']; } add_filter(’the_content’, ‘eb_content_umbruch’); function eb_content_umbruch($content) { $pos1 = strpos($content, '
'); $pos2 = strpos($content, '

'); if ($pos1===false and $pos2===false) { // Beitrag enthaelt bereits Umbrueche und wird nicht geaendert } else { $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace(""."\n","", $content); $content = str_replace("\n","
", $content); } return $content; }

 

Probleme bei der Version 2

Bei dieser Version werden zwar keine Zeilenumbrüche innerhalb der Tabelle gesetzt, aber auch bei den anderen Texten fehlen die ersehnten p-Tags und br-Tags, was ja unser Ausgangsproblem war.

Anzustrebende Künftige Lösung 

Wenn kein p oder br im Text ist, wird nach folgenden Regeln eines eingefügt: Fließtext mit p und Zeilenumbrüche mit br versehen. Alle anderen, in folgende Tags (h1 - h6, table, div, b, strong, ol, li usw. ) eingebetteten Inhalte, werden nicht verändert.



Sind Sie der geborene Unternehmer? Jetzt testen!