J'ai deux champs. Le premier est destiné au texte brut (mais avec des caractères spéciaux) et le second au contenu HTML (wp_editor est utilisé). Les deux sont nécessaires plus tard pour phpmailer .
<textarea style="width:100%;height:200px;" name="doi-altbody"><?php echo $epn_doi_altbody; ?></textarea>
wp_editor( $epn_doi_body, 'doi-body', array( 'editor_height' => '300px' ) );
1) Comment puis-je les sécuriser correctement après avoir soumis le formulaire, puis les enregistrer dans la base de données dans une table personnalisée existante? (esc_attr, sanitize_text_field ...)
2) Et quand je veux sortir le contenu de la base de données dans la version dactylographiée exacte et originale: comment puis-je le faire? (wpautop ...)
J'ai essayé quelques choses dans les derniers jours. Mais cela n'a jamais fonctionné comme j'avais besoin.
<textarea style="width:100%;height:200px;" name="doi-altbody"><?php echo $epn_doi_altbody; ?></textarea>
wp_editor( $epn_doi_body, 'doi-body', array( 'editor_height' => '300px' ) );
Pour obtenir le même résultat que celui enregistré dans la base de données, la sortie doit être modifiée.
Pour la zone de texte:
wp_specialchars_decode( $epn_doi_altbody, $quote_style = ENT_QUOTES )
Pour le wp_editor:
wpautop( $epn_doi_body );
Données : (tableau) Données à remplacer (en colonnes => paires de valeurs). Les colonnes $ data et les valeurs $ data doivent être "brutes" (aucune des deux ne doit être échappée SQL).
Quelque chose comme:
$wpdb->insert(
$wpdb->prefix . "myTable",
array(
"doiBody" => $_POST['doi-body']
),
array( "%s" )
);
esc_attr( $output )
suffirait, je crois.J'espère que cela aide d'une certaine manière.