Vermeiden Sie das Entfernen von HTML im benutzerdefinierten Taxonomie-Meta-Feld

Ich verwende ein benutzerdefiniertes Formularfeld in einer benutzerdefinierten Taxonomie, um verschiedene Daten zu speichern. Alles funktioniert gut, außer in einem bestimmten Fall, in dem ich versuche, einen Iframe-Einbettungscode (von Bandcamp) zu speichern, der später in einer Vorlage wiedergegeben werden soll. WordPress fügt \ vor irgendwelchen “in der Ausgabe ein.

Ich habe versucht, htmlspecialchars auf meine Ausgabe zu verwenden, ich habe auch hinzugefügt, dass der Wert meiner Bearbeitungsformularfeldaktion. Ich schätze, ich vermisse einen Teil des processes irgendwo, vielleicht auf sparen?

Speicherfunktion ist:

 function save_taxonomy_custom_meta_bandcamp_embed_music( $term_id ) { if ( isset( $_POST['term_meta'] ) ) { $t_id = $term_id; $term_meta = get_option( "taxonomy_$t_id" ); $cat_keys = array_keys( $_POST['term_meta'] ); foreach ( $cat_keys as $key ) { if ( isset ( $_POST['term_meta'][$key] ) ) { $term_meta[$key] = $_POST['term_meta'][$key]; } } // Save the option array. update_option( "taxonomy_$t_id", $term_meta ); } } add_action( 'edited_hhie_artists', 'save_taxonomy_custom_meta_bandcamp_embed_music', 10, 2 ); add_action( 'create_hhie_artists', 'save_taxonomy_custom_meta_bandcamp_embed_music', 10, 2 ); 

Solutions Collecting From Web of "Vermeiden Sie das Entfernen von HTML im benutzerdefinierten Taxonomie-Meta-Feld"

Sie können esc_attr verwenden

 function save_taxonomy_custom_meta_bandcamp_embed_music( $term_id ) { if ( isset( $_POST['term_meta'] ) ) { $t_id = $term_id; $term_meta = get_option( "taxonomy_$t_id" ); $cat_keys = array_keys( $_POST['term_meta'] ); foreach ( $cat_keys as $key ) { if ( isset ( $_POST['term_meta'][$key] ) ) { $term_meta[$key] = esc_attr( $_POST['term_meta'][$key] ); // encoded text with HTML entities } } // Save the option array. update_option( "taxonomy_$t_id", $term_meta ); } } add_action( 'edited_hhie_artists', 'save_taxonomy_custom_meta_bandcamp_embed_music', 10, 2 ); add_action( 'create_hhie_artists', 'save_taxonomy_custom_meta_bandcamp_embed_music', 10, 2 ); 

WordPress schneidet immer alle Parameter von $ _GET und $ _POST ab. Sie sollten sie beim Aktualisieren Ihrer Option in Ihrem Code entfernen.