Pour diverses raisons, il peut être utile d’ajouter des champs au formulaire de commentaires. Je vous propose de voir comment réaliser cela.
En guise de prérequis, il vous faut un minimum de connaissance en PHP / CSS / HTML, sans cela, vous risquez de vous retrouvez dans un jolie petite galère. Ensuite, il est fortement recommandé de créer une copie de sauvegarde de vos fichiers.
Les modifications suivantes sont à apporter dans votre fichier functions.php. Ne vous aventurez jamais à modifier les fichiers du Core de WordPress, d’une part, ce n’est pas l’idéal en terme de maintenance, et d’autre part, vos modifications seraient perdues à la première mise à jour de votre installation, ce qui serait dommage.
Pour commencer, il vous faut filtrer la fonction comment_form_default
add_filter( 'comment_form_defaults', 'change_comment_form_defaults');
Ensuite, vous pouvez ajouter le ou les champs que vous souhaitez ajouter à votre formulaire
function change_comment_form_defaults( $default ) { $commenter = wp_get_current_commenter(); $default[ 'fields' ][ 'email' ] .= '<p>' . '<label for="city">'. __('City') . '</label> <span>*</span> <input id="city" name="city" size="30" type="text" /></p>'; return $default; }
Ici, c’est un champ « City » qui est ajouté au formulaire.
Pour que les données de votre champ soit enregistrées en même temps que les autres champs du formulaire, vous devez ajouter ces lignes de codes
add_action( 'comment_post', 'save_comment_meta_data' ); function save_comment_meta_data( $comment_id ) { add_comment_meta( $comment_id, 'city', $_POST[ 'city' ] ); }
Et si vous souhaitez rendre le champ obligatoire, voici comment faire
add_filter( 'preprocess_comment', 'verify_comment_meta_data' ); function verify_comment_meta_data( $commentdata ) { if ( ! isset( $_POST['city'] ) ) wp_die( __( 'Error: please fill the required field (city).' ) ); return $commentdata; }
Pour en savoir plus, je vous invite à lire l’article source sur WPEngineer
Vous pouvez également lire cet excellent article chez Otto
A propos de cette publication
Dossier WordPress : Utilisation avancée de wordpressModifier le formulaire des commentaires est un article de 4h18.com