WooFrance Dépannage et support WordPress WooCommerce › Forums › Discussion générale › Modification champs création de compte
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par WB2, le il y a 5 mois et 1 semaine.
-
AuteurMessages
-
23 novembre 2023 à 16 h 10 min #51386823 novembre 2023 à 16 h 11 min #51388727 novembre 2023 à 7 h 05 min #514015
Bonjour pour cela vous pouvez utiliser des actions et des filtres WordPress. Vous pouvez le faire en ajoutant du code personnalisé à votre thème enfant ou à l’aide d’un plugin dédié à la personnalisation de WooCommerce.
Voici comment vous pourriez le faire en utilisant du code personnalisé dans votre thème enfant.
- Créez un thème enfant (si vous n’en avez pas déjà un): Si vous n’avez pas de thème enfant, créez-en un pour éviter de perdre vos modifications lors des mises à jour du thème parent.
- Ajoutez du code personnalisé: Ouvrez le fichier
functions.php
de votre thème enfant et ajoutez le code suivant à la fin du fichier :
// Ajouter un champ personnalisé lors de l'inscription
add_action('woocommerce_register_form_start', 'ajouter_champ_inscription');
function ajouter_champ_inscription() {
?>
<p class="form-row form-row-wide">
<label for="nom_entreprise"><?php _e('Nom de l\'entreprise', 'woocommerce'); ?><span class="required">*</span></label>
<input type="text" class="input-text" name="nom_entreprise" id="nom_entreprise" value="<?php if (!empty($_POST['nom_entreprise'])) echo esc_attr($_POST['nom_entreprise']); ?>" />
</p>
<?php
}// Valider le champ ajouté
{
add_filter('woocommerce_registration_errors', 'valider_champ_inscription', 10, 3);
function valider_champ_inscription($errors, $username, $email)
if (empty($_POST['nom_entreprise'])) {
$errors->add('champ_nom_entreprise', __('Le nom de l\'entreprise est requis.', 'woocommerce'));
}
return $errors;
}// Enregistrer la valeur du champ ajouté
add_action('woocommerce_created_customer', 'enregistrer_champ_inscription');
function enregistrer_champ_inscription($customer_id) {
if (isset($_POST['nom_entreprise'])) {
update_user_meta($customer_id, 'nom_entreprise', sanitize_text_field($_POST['nom_entreprise']));
}
}
Ce code ajoute un champ “Nom de l’entreprise” lors de l’inscription, le valide pour s’assurer qu’il est rempli, puis enregistre la valeur dans les métadonnées de l’utilisateur.
Vous pouvez également utiliser un plugin comme Forminator :
Bien à vous !
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.