Probleme sous wordpress : guillemets/metabox
                                    
                        Naad                    
                                    -
                                     
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) :
 
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 :
 
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?
            
            
                
            
                
    
    
    
        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?
        A voir également:         
- Probleme sous wordpress : guillemets/metabox
- Wordpress download - Télécharger - Blog & CMS
- Wordpress apparence menu disparu ✓ - Forum Wordpress
- Supprimer site wordpress - Astuces et Solutions
- Ovh site en construction wordpress - Forum Wordpress
- Erreur critique wordpress - Forum Wordpress
