- WordPress :6.7
- Statut : résolu
- Ce sujet contient 3 réponses, 3 participants et a été mis à jour pour la dernière fois par Kurina, le il y a 2 semaines et 4 jours.
-
AuteurMessages
-
6 janvier 2025 à 20 h 22 min #2484410
Bonjour,
Ma configuration WP actuelle
- Version de PHP/MySQL : 8.1 / 8.0
- Thème utilisé : Astra (mais testé avec Twenty Twenty Five)
- Extensions en place : Woocommerce et mon plugin (testé sans aucune autre extension, et sans la mienne avec juste du code dans functions.php)
- Nom de l’hébergeur : Local
Problème(s) rencontré(s) :
Je travaille sur un projet WooCommerce avec l’aide de ChatGPT, où je dois ajouter des champs personnalisés (par exemple, type de personnalisation, texte personnalisé, police et motifs) à la section « Produit » du panier. Ces champs sont censés s’afficher dynamiquement pour chaque produit dans le panier, mais rien n’apparaît.
Voici ce que j’ai essayé jusqu’à présent :
Injection de HTML via woocommerce_cart_item_name :
J’ai utilisé le filtre woocommerce_cart_item_name pour injecter des éléments HTMLselect
etinput
après le nom du produit.- Du texte statique (par exemple, « Test Select: Option 1 Option 2 ») s’affiche correctement, mais les champs
select
etinput
ne se rendent pas correctement.
Test minimal dans functions.php :
J’ai testé une configuration de base pour vérifier si WooCommerce accepte un élémentselect
:add_action('woocommerce_after_cart_item_name', function($cart_item, $cart_item_key) { echo '<label for="test-select">Test Select :</label>'; echo '<select id="test-select"><option value="1">Option 1</option><option value="2">Option 2</option></select>'; }, 10, 2);
Résultat : Le texte statique s’affiche, mais pas le champ
select
.Débogage CSS et JS :
- Le fichier JavaScript qui gère les champs personnalisés est chargé correctement, sans erreurs dans la console.
- Aucun problème CSS ne masque les champs.
Thème et plugins :
- J’ai testé avec le thème Twenty Twenty-Five et désactivé tous les plugins sauf WooCommerce.
- Le problème persiste.
Journaux d’erreurs :
- Rien de spécifique dans les journaux lié à mon code.
- Quelques avertissements non liés (par exemple, Stripe et Astra), mais rien de critique.
Questions :
- Quelqu’un a-t-il rencontré un problème similaire où WooCommerce semble ignorer les champs HTML dynamiques ajoutés au panier ?
- Y a-t-il un hook plus adapté que woocommerce_cart_item_name ou woocommerce_after_cart_item_name pour injecter du HTML dynamique ?
- Pourrait-il y avoir un conflit potentiel empêchant WooCommerce de rendre correctement ces champs interactifs ?
Merci d’avance pour votre aide ! 🙏
🙏
- Ce sujet a été modifié le il y a 2 semaines et 5 jours par Kurina.
- Ce sujet a été modifié il y a 2 semaines et 5 jours par Flobogo. Raison : mise en forme
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.7 janvier 2025 à 12 h 57 min #2484438Salut, tu sembles vouloir ajouter des options à tes produits, si c’est bien le cas utilise l’extension PPOM pour ça, c’est pratique est paramétrable.
7 janvier 2025 à 12 h 57 min #2484439Bonjour,
Pourquoi vouloir faire un plugin qui potentiellement faudra maintenir quand il existe des solutions comme « Product addon » qui font tout cela ?
je pose la question car je doute que l’on t’aide à débug ton propre plugin fait maison 😉
Au pire prends un plugin qui existe et qui fait cela et adapte ton code en fonction.
Edit: momofr vient de dire exactement la même chose ^^
7 janvier 2025 à 17 h 29 min #2484449Merci pour vos réponses. J’ai réussi à résoudre le problème.
Si j’ai fait un plugin moi-même, c’est parce qu’aucun autre ne semblait pouvoir faire ce dont j’avais besoin. Il me fallait certes mettre des options, mais il fallait surtout que ces options soient visibles sur la photo du produit : pouvoir choisir de mettre un texte et/ou un dessin visible directement sur le produit (une quinzaine de motifs différents, du texte personnalisable jusqu’à 25 caractères et le choix de la police d’écriture).
J’ai trouvé des plugins qui s’en rapprochaient mais rien qui faisait exactement ce dont j’avais besoin. Donc quitte à faire les choses moi-même, autant ne pas payer 70-100€ de plugin pour la moitié du boulot et prendre le risque que ça ne marche plus au fil des mises à jour.
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.