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 1 année.
-
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.