WP_Editor – Wert in Plugin-Option speichern – HTML entkernen

Ich habe einen wp_editor(); auf meiner Plugin-Einstellungsseite.

Ich habe auch die Drop-Down-function “Schriftgröße” in TinyMCE aktiviert.

Nach dem Hervorheben von Text im wp_editor(); Wenn Sie im Dropdown-Menü des Editors eine Schriftgröße auswählen, wird die Schriftgröße entsprechend angepasst (direkt im Editor).

Nach dem Speichern meiner Plugin-Einstellungen mit update_option(); und die Seite mit den Plugin-Einstellungen wird neu geladen … Der highlighted text wird entfernt, so dass nur “markierter Text” ohne Span-Tags übrig bleibt, um die Schriftgröße anzupassen .

Ich habe versucht, den wp_editor(); Code, zusammen mit der add_option(); / update_option(); Code, um zu sehen, ob es vielleicht eine Art Stripping / Desinfektion gab.

Irgendein Hinweis warum ein wp_editor(); span tag würde beim Speichern des Inhalts in einer Option entfernt werden?

Randnotiz: Es scheint, als ob nur die Span-Tags aus irgendeinem Grund entfernt werden. Ich habe gerade versucht, Unterstreichung zu verwenden, und das wurde auch entfernt.

Solutions Collecting From Web of "WP_Editor – Wert in Plugin-Option speichern – HTML entkernen"

Das Problem

Dies erwies sich als ein häufiger Fall, in dem man stripslashes(); verwenden stripslashes(); .

Wie habe ich das herausgefunden?

Ich habe mich bei phpMyAdmin angemeldet, zur Optionstabelle navigiert, meinen Optionsnamen gefunden und ihn bearbeitet.

Hier ist, was ich entdeckt habe …

s:11:"description";s:90:"This is supposed to be underlined text.";

Also offensichtlich funktioniert mein Plugin. Es spart Sachen richtig. Der Text, den ich in den wp_editor(); ist da und der entsprechende HTML-Code umschließt auch meinen Text.

Beachten Sie die Schrägstriche, die automatisch hinzugefügt wurden. Dies verursachte das Problem bei der Ausgabe des Inhalts von wp_editor(); die in meiner Plugin-Option gespeichert wurden.

Einfache Lösung

  1. Verwende stripslashes(); nachdem Sie Ihre Optionsdaten abgerufen haben, bevor Sie sie ausgeben.
  2. Dies sollte bei der Ausgabe und nicht bei der Eingabe erfolgen.