- WordPress :6.7
- Statut : non résolu
- Ce sujet contient 1 réponse, 2 participants et a été mis à jour pour la dernière fois par Flobogo, le il y a 1 semaine et 5 jours.
-
AuteurMessages
-
6 janvier 2025 à 20 h 18 min #2484407
Salut tout le monde,
Ma configuration WP actuelle
- Version de PHP/MySQL : 8.1.10 / 8.0.30
- Thème utilisé : Astra (Child) mais testé sur Twenty Twenty Five aussi
- Extensions en place : Woocommerce et mon extension (les autres étant désactivées pour les tests)
- Nom de l’hébergeur : En 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 HTML<select>
et</select><input type="text" /><select>
après le nom du produit.</select>- Du texte statique (par exemple, « Test Select: Option 1 Option 2 ») s’affiche correctement, mais les champs
<select>
et</select><input type="text" /><select>
ne se rendent pas correctement.</select>
Test minimal dans functions.php :
J’ai testé une configuration de base pour vérifier si WooCommerce accepte un élément<select>
</select>
<select><div class= »contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950″></select>
<select><div class= »flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between rounded-t-md h-9 bg-token-sidebar-surface-primary dark:bg-token-main-surface-secondary select-none »></div></select>
<select><div class= »overflow-y-auto p-4″ dir= »ltr »><code class= »!whitespace-pre hljs language-php »><span class= »hljs-title function_ invoke__ »>add_action</span>(<span class= »hljs-string »>’woocommerce_after_cart_item_name'</span>, function(<span class= »hljs-variable »>$cart_item</span>, <span class= »hljs-variable »>$cart_item_key</span>) {</select>
<select><span class= »hljs-keyword »>echo</span> <span class= »hljs-string »>'<label for= »test-select »>Test Select :</label>'</span>;</select>
<select><span class= »hljs-keyword »>echo</span> <span class= »hljs-string »>'<select id= »test-select »><option value= »1″>Option 1</option><option value= »2″>Option 2</option></select>'</span>;</select>
<select>}, <span class= »hljs-number »>10</span>, <span class= »hljs-number »>2</span>);</select>
<select></div></select>
<select></div></select>
Résultat :<select>Le texte statique s’affiche, mais pas le champ</select><select>
.</select>
<select><h3>Débogage CSS et JS :</h3></select>- 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 1 semaine et 5 jours par Kurina.
Fichiers joints :
Vous devez être connecté pour voir les fichiers joints.7 janvier 2025 à 0 h 12 min #2484421Doublon avec ce sujet-là. Je clôture ici.
NB : vos messages étaient classés « indésirables » à cause du code qu’ils contiennent. Il ne faut pas en mettre en 1er post.
-
AuteurMessages
- Le sujet ‘Impossible de créer un champ select ou input dans le panier’ est fermé à de nouvelles réponses.