FCKEditor Problem mit nextpage oder pagebreak in WordPress

Als erstes einmal zur Problemstellung!
Viele Internetbenutzer, die mit WordPress und dem integrierten Editor arbeiten, haben irgendwann sicherlich festgestellt, dass dieser nicht so einwandfrei arbeitet wie man das gerne hätte. Aus diesem Grunde sind diese womöglich auf den FCKEditor umgestiegen.

Wenn man bisher kleine Artikel geschrieben hat, dann mag es gar nicht aufgefallen sein, dass es Probleme bei der Darstellung von Seitenumbrüchen gibt, die man mit der Schaltaste für den pagebreak oder für die nextpage macht. An der Stelle, wo man einen Seitenumbruch eingefügt hat, wird dieser später nicht durch WordPress erkannt beziehungsweise dargestellt.

Dabei beinhaltet WordPress eine eigens eingebaute Funktion, die dafür sorgen soll, dass ein Seitenumbruch gesetzt wird. Diese Funktion nennt sich nextpage und wird im Quelltext eines Artikels mittels <!–nextpage–> angegeben. Solange man diese Funktion auch im eigentlichen HTML Code eingibt, funktioniert es auch, während die Eingabe von <!–nextpage–> im WYSIWYG – Editor nicht funktioniert. Das liegt daran, dass die Sonderzeichen in HTML Code umgewandelt werden.

Ein weiteres Problem ist, dass die Schalttaste des FCKEditors kein <!–nextpage–> einfügt, sondern den folgenden HTML-Code <div style="page-break-after: always;"><span style="display: none;">&nbsp;</span></div>.

Aus diesem Grunde wird von WordPress auch kein Seitenumbruch erkannt, da das System nach <!–nextpage–> im HTML Code des eigentlichen Artikels sucht.

Eine leichte Lösung mit etwas Arbeit für das Problem und es funktioniert wieder mit den Seitenumbrüchen

Für alle diejenigen, die häufig größere oder längere Artikel schreiben und diese mittels eines Seitenumbruch auf mehrere Seiten aufteilen möchten, lohnt es sich, ein klein wenig Arbeit zu investieren. Mit dieser Arbeit wird es möglich, dass trotz der anderen Angabe des FCKEditors für einen Seitenumbruch der eigentliche Seitenumbruch in WordPress noch funktioniert.

Dazu muss man einige kleine Änderungen in der query.php von WordPress vornehmen. Am besten öffnet man diese Datei mit einem richtigen Editor, der es auch versteht HTML oder PHP zu verarbeiten und die verschiedenen Programmiersprachen hervorzuheben. Ein solcher Editor ist zum Beispiel der tsWebEditor, den man kostenlos aus dem Internet herunterladen kann.

Nun sucht man nach der Zeile, die den eigentlichen Seitenumbruch verarbeitet. Zumeist befindet sich diese Zeile am Ende der Datei und beginnt etwa ab der Zeile 1511.

Diese lautet:
if ( preg_match(‚/<!–nextpage–>/‘, $content)) {

Diese Zeile ergänzt man wie folgt:
if ( preg_match(‚/<!–nextpage–>/‘, $content) or preg_match(‚/page-break-after/‘, $content) ) {
 

Damit wird auch nach dem Begriff page-break-after gesucht, denen der FCKEditor als Seitenumbruch mit einbringt.

Einige Zeilen darunter, etwa ab der Zeile 1517 findet man ff. Zeile:
$content = str_replace("<!–nextpage–>\n", ‚<!–nextpage–>‘, $content);

Hierunter bringt man nun eine zusätzliche Zeile ein:
$content = str_replace(‚<div style="page-break-after: always"><span style="display: none">&nbsp;</span></div>‘, ‚<!–nextpage–>‘, $content);

Damit weißt man WordPress an, dass es den Seitenumbruch, der durch den FCKEditor eingebracht wird, auch als <!–nextpage–> anerkannt wird beziehungsweise in den Quicktag von WordPress umgeformt und umgewandelt wird.

Ab sofort kann man nun die Schaltfläche für den Seitenumbruch im FCKEditor ganz normal benutzen. Ein weiterer Vorteil an dieser Methode ist, dass weiterhin der Quicktag von WordPress funktioniert und man diesen ebenfalls weiterhin benutzen kann.

Allerdings gibt es bei der ganzen Sache einen kleinen Haken! Schreibt man nun einen Artikel mit den Begriffen page-break-after oder dem HTML Code <div style="page-break-after: always"><span style="display: none">&nbsp;</span></div>, dann kommt es vor, dass am Seitenende die Seitenzahl ausgegeben wird. Das beste Beispiel hierfür ist diese Seite selber. Jedoch finde ich, dass der Nutzen höher wiegt als die Anzeige der Seitenzahl. Zudem betrifft es nicht jede Seite, sondern wirklich nur die Seite, auf der diese Wörter beziehungsweise die Angaben verwendet werden.
 

2 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.