Probleme sous wordpress : guillemets/metabox

Naad -  
 Naad -
Bonjour,

j'ai crée un custom-post comprenant différentes metabox et j'aimerai permettre à l'utilisateur d'y inscrire/enregistrer du texte qui pourrait éventuellement contenir des guillemets/apostrophes ou d'autres éléments pouvant être interprétés comme du code.
Je ne veux pas que ces éléments soient interprétés mais qu'ils s'affichent et s'enregistrent tel que l'utilisateur les a inscrits, comme cela ce passe pour le contenu standard du post (the_content()).

Voici le code me permettant d'enregistrer et d'afficher le contenu des metabox enregistrées dans la partie admin de wordpress (dans le fichier functions.php de mon template) :


add_action('add_meta_boxes','metabox');
function metabox(){
add_meta_box('details','Détails','metabox_formule','formules','side','high');
}

function metabox_formule($post){
$donnees = get_post_meta($post->ID,'keyAdresse',false);
$formule = unserialize($donnees[0]);
$menu1=htmlentities($formule['menu1']);
echo'<label for="menu1" >Choix de plat :</label><br />
<input type="text" name="menu1" id="menu1" value="'.$menu1.'" />';
}

add_action('save_post','save_metaboxes');
function save_metaboxes($post_ID){
if(!empty($_POST['menu1'])){
$menu1=htmlentities($_POST['menu1']);
$detail = array(
'menu1' => $menu1
);
update_post_meta($post_ID,'keyAdresse',serialize($detail));
}
}




Je ne m'occupe pour l'instant que de menu1. J'ai donc essayé avec htmlentities() mais cela ne fonctionne pas : l'integralité des champs se vident et rien n'est enregistré. Cela fonctionne très bien quelque soit le champ si je ne post aucun " ou '. j'ai essayé de tout simplement les enlever avant l'enregistrement comme cela :


$menu1=str_replace("'", "",$_POST['menu1']); 
$detail = array(
'menu1' => $menu1,


Mais ca ne fonctionne pas d'avantage. J'ai également testé d'autres fonctions tel que esc_attr(), esc_html(), sanitize_text_field(), wp_unslash(). que j'ai pu trouver sur divers forum et le codex wordpress mais sans succès :s.

Peut être les ai-je mal utilisées.

Auriez vous une indication a me donner?




1 réponse

Naad
 
up
0