web-dev-qa-db-fra.com

Puis-je modifier les champs affichés dans le formulaire de commentaires?

Est-il possible de changer les champs disponibles dans le formulaire de commentaires? Par défaut, mon formulaire de commentaires demande le nom, l'adresse électronique, le site Web, puis le message. J'aimerais supprimer le site Web et le remplacer par un nouveau champ de mon choix.

Quel est le meilleur moyen d'y parvenir?

3
jkupczak

Cette réponse peut changer en fonction du thème ou des plugins que vous avez installés, mais le code se trouve généralement à des endroits similaires de l'éditeur de thème.

Par exemple, si vous utilisez le thème par défaut Twenty Eleven dans WordPress 3.2.1, vous pouvez vérifier l'emplacement de l'appel de commentaires en cochant ici:

  1. Connectez-vous à votre interface d'administration.
  2. Cliquez sur le menu Apparence.
  3. Cliquez sur Editeur sous Apparence.
  4. Cliquez sur Commentaires à droite pour modifier le fichier comments.php.

Cela affichera la page utilisée par WordPress pour générer l'affichage des commentaires.

Certains thèmes ont peut-être saisi du code que vous pouvez modifier directement pour modifier l'affichage. Twenty Eleven utilise la fonction par défaut de WordPress 'comment_form ()' pour afficher le formulaire utilisé pour les nouveaux commentaires.

Beaucoup de choses peuvent être faites pour changer les valeurs à ce stade, et vous devriez jeter un oeil à la documentation complète de de comment_form () pour tous les détails. Pour bien commencer, cliquez sur Fonctions de thème à droite pour ouvrir le fichier functions.php et ajoutez les informations suivantes en bas:

// This creates a filter to change the default comment fields.
add_filter('comment_form_default_fields', 'my_comment_changes'); 

function my_comment_changes ( $my_fields ) {
    $my_fields[ 'url' ] = ''; //This will make the website area display nothing.
    $my_fields[ 'custom' ] = 'test field only<br>'; // This will add a custom field.

    return $my_fields;
}

Cela peut certainement devenir plus complexe que cela si vous en avez besoin, mais cela vous aidera à démarrer.

5
Jeremy Felt

Manière d'ajouter un nouveau champ ...

add_filter('comment_form_default_fields', 'new_fields');

function new_fields($fields)
{
    $fields['my_field'] = "<input type='text' name='my_field' />";
    return $fields;
}

Toutes mes excuses, mais je n'ai pas la moindre idée de comment sauvegarder le nouveau champ.

0
Rutwick Gangurde