Formatieren von Text in benutzerdefinierten Feldern

So wie im folgenden Bild sah in meinem Regionalmagazin die Ausgabe von Text in einem benutzerdefinierten Feld aus. Und das, obwohl im Backend natürlich Absätze eingefügt worden waren.

Formatieren von Text in benutzerdefinierten Feldern
Trotz Zeilenumbrüchen im Backend kommt die Textausgabe im Frontend als Fließtext daher

Die Theme-Entwickler konnten mir nicht helfen, da es ein selbstkonstruiertes - aber auf den Code der Themebasierten Custom Fields erstelltes - benutzerdefiniertes Feld war.

Ich selbst habe leider keine Anleitung gefunden, wie man diesen Fehler korrigiert. Daher ging ich auf Facebook auf die Suche nach einer Antwort. Und die kam dann alsbald.

Mit nur ein paar Zeichen Code erhält man die gewünschte Ausgabe auch im Frontend:

Aus

echo $td_mod_single->td_post_theme_settings['td_infos']

wird dabei

echo nl2br ( esc_html( $td_mod_single->td_post_theme_settings['td_infos']))

Man fügt also hinter dem echo-Befehl ein nl2br ein, gefolgt von einer öffnenden Klammer, dem esc_html und einer weiteren öffnenden Klammer, bevor der eigentliche Code für die Ausgabe des Feldinhaltes beginnt. Die obligatorischen Schließenden Klammern runden das Ganze ab.

Nachlesen kann man das hier. Dort wird auch gezeigt, wie man das anstatt mit php per css lösen kann.

Das Ergebnis schaut dann so aus:

Formatieren von Text in benutzerdefinierten Feldern
Mit Hilfe der eingefügten Zeichen Code wird der Text korrekt ausgegeben

1 Gedanke zu „Formatieren von Text in benutzerdefinierten Feldern“

  1. Hallo Marcus,

    ich bin auf deinen interessanten Artikel gestoßen. Finde ihn sehr hilfreich. Vor allem aber deine Erläuterungen zu dieser Textformatierung, finde ich mehr als gelungen und sehr empfehlenswert. Danke dafür. Genau danach hatte ich gesucht.

    Liebe Grüße
    Timea

    Antworten

Schreibe einen Kommentar