Evitando a remoção de HTML no Meta Field Taxonomia Customizada

Estou usando um campo de formulário personalizado em uma taxonomia personalizada para armazenar vários dados. Tudo funciona bem, exceto em um caso particular em que eu estou tentando salvar um código de incorporação do iframe (do Bandcamp), que será repetido em um modelo mais tarde. WordPress está inserindo \ antes de qualquer “na saída.

Eu tentei usar htmlspecialchars na minha saída, eu adicionei também isso ao valor da minha ação de campo de formulário de edição. Acho que estou perdendo parte do processo em algum lugar, talvez em salvar?

A function Salvar é:

 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 "Evitando a remoção de HTML no Meta Field Taxonomia Customizada"

você pode usar esc_attr

 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 sempre reduz todos os parâmetros de $ _GET e $ _POST. Você deve desacelerá-los ao atualizar sua opção em seu código.