J'ai cherché beaucoup de fil au sujet de mon problème, mais malheureusement je n'ai rien trouvé qui fonctionne et c'est mon option finale. Je souhaite ajouter des champs personnalisés à mon formulaire de commentaire. Comment puis je faire ça?
Ici vous allez: Ajout de champs personnalisés à des formulaires de commentaires WordPress?
Et un autre article génial sur ceci: http://wpengineer.com/2214/adding-input-fields-to-the-comment-form/
Des fonctions sont disponibles pour ajouter/mettre à jour, supprimer des méta de commentaire, semblables aux méta de publication et d'utilisateur.
Edit: Voici un exemple pour vous donner un début (mettez le code dans le functions.php
ou dans un plugin personnalisé):
Ajoutez les champs au formulaire de commentaire:
add_filter( 'comment_form_defaults', 'change_comment_form_defaults');
function change_comment_form_defaults( $default ) {
$commenter = wp_get_current_commenter();
$default[ 'fields' ][ 'email' ] .= '<p class="comment-form-author">' .
'<label for="city">'. __('City') . '</label>
<span class="required">*</span>
<input id="city" name="city" size="30" type="text" /></p>';
return $default;
}
4 fonctions pour récupérer/ajouter/mettre à jour/supprimer un méta de commentaire:
get_comment_meta( $comment_id, $meta_key, $single = false );
add_comment_meta($comment_id, $meta_key, $meta_value, $unique = false );
update_comment_meta($comment_id, $meta_key, $meta_value, $unique = false );
delete_comment_meta( $comment_id, $meta_key, $single = false );
C'est ici que vous feriez les validations:
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;
}
Et enregistrez le méta de commentaire:
add_action( 'comment_post', 'save_comment_meta_data' );
function save_comment_meta_data( $comment_id ) {
add_comment_meta( $comment_id, 'city', $_POST[ 'city' ] );
}
Récupérer et afficher les méta de commentaires:
add_filter( 'get_comment_author_link', 'attach_city_to_author' );
function attach_city_to_author( $author ) {
$city = get_comment_meta( get_comment_ID(), 'city', true );
if ( $city )
$author .= " ($city)";
return $author;
}
( Note : Tout le code provient du lien WPengineer que j'ai posté ci-dessus. Il y a plus de détails et d'utilisations avancées dans cet article, vérifiez-les aussi!)
Ce diaporama de Beau Lebens devrait pouvoir vous montrer comment: Accrocher les commentaires
Et ce billet de blog d'Otto devrait pouvoir vous en montrer plus: WordPress 3.0 Thème Astuce: Le formulaire de commentaire
Il existe également un plugin de base disponible ici appelé "Plugin Wordpress: Champs de commentaires supplémentaires" (désolé, je ne peux pas poster le lien).