Quotes, die in wp_editor maskiert werden, wenn sie mit wp_kses_post gespeichert werden

Hallo habe einen Einstellungsbildschirm, wo ich den Benutzern erlauben, HTML-E-Mails mit dem Komfort des Editors zu erstellen, den sie bereits von Posts und Seiten gewohnt sind, die wp_editor () verwenden;

Alles scheint gut zu funktionieren, außer wenn ich versuche, mit Texten zu speichern, die in Anführungszeichen stehen, wenn der Wert zurückkehrt, hat es die Flucht, das weiß ich, weil wp_kses_post (); bereinigt die Daten, aber was ist, wenn der Benutzer eine HTML-E-Mail mit Anführungszeichen erstellen möchte?

Ich weiß, dass ich einen str_replace machen kann, aber gibt es einen anderen Weg? Sollte ich sogar wp_kses_post () verwenden; wenn ich Angebote zulassen möchte?

wp_editor code:

wp_nonce_field('tld_wcdpue_settings_nonce_action', 'tld_wcdpue_settings_nonce_field'); $tld_wcdpue_settings_email_content = get_option('tld_wcdpue_settings_email_content'); wp_editor( $tld_wcdpue_settings_email_content, 'tld_wcdpue_settings_wpeditor', array( 'wpautop' => false ) ); 

wp_editor Sicherungscode:

 if( isset(//does authentication here) ){ update_option( 'tld_wcdpue_settings_email_content', wp_kses_post( $_POST['tld_wcdpue_settings_wpeditor'] ) ); } 

Wenn dies in der DB gespeichert wird, wird es mit Escapezeichen versehen, sodass die Rückgabe wie folgt aussieht:

Bildbeschreibung hier eingeben

Ich weiß, ich könnte einfach einen str_replace machen, aber würde das nicht den Zweck von wp_kses_post besiegen? Sollte ich es in diesem Fall überhaupt benutzen? Ich merke auch, dass ich nicht entkomme, wenn ich die Daten aus der db ziehe, nicht sicher, wie ich das tun soll, da ich möchte, dass HTML im Editor rendert

Solutions Collecting From Web of "Quotes, die in wp_editor maskiert werden, wenn sie mit wp_kses_post gespeichert werden"

WordPress entkoppelt immer die in den Super-Globals-Variablen gefundenen Anführungszeichen. Es ist getan in https://developer.wordpress.org/reference/functions/wp_magic_quotes/

Sie werden es wahrscheinlich mit stripslashes bevor Sie es in der DB speichern. etwas wie

update_option( 'tld_wcdpue_settings_email_content', wp_kses_post( stripslashes($_POST['tld_wcdpue_settings_wpeditor'] ) ));

Ich glaube nicht, dass Sie wp_kses_post() .

update_option() führt sanitize_option() das sich um alles kümmern soll.

Testen Sie es und lassen Sie mich wissen, was passiert.