Je suis aux prises avec une boucle et un type de produit simple/variable dans Woocommerce 3.1.2. Toutes les boucles passent par loop/add-to-cart.php
qui est la coutume dans mon thème (pas fait par moi) et va quelque chose comme ceci:La propriété WooCommere product_type retourne simple lorsque le produit est variable
global $product;
echo '<li class="cart_view">';
echo apply_filters('woocommerce_loop_add_to_cart_link',
sprintf('<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" data-quantity="%s" class="button %s product_type_%s">%s</a>',
esc_url($product->add_to_cart_url()),
esc_attr($product->id),
esc_attr($product->get_sku()),
esc_attr(isset($quantity) ? $quantity : 1),
$product->is_purchasable() && $product->is_in_stock() ? 'add_to_cart_button' : '',
esc_attr($product->product_type),
esc_html($product->add_to_cart_text())
),
$product);
echo '</li>';
Tout (ID, href, etc.) fonctionne (correctement?) À l'exception du $product->product_type
, qui renvoie simple même si c'est variable. À l'exception d'un produit, qui renvoie une variable.
Je ne peux pas comprendre pourquoi, car il a la même configuration que les autres. L'exécution de la condition simple/variable dans un seul produit fonctionne bien.
J'ai déjà essayé d'autres méthodes telles que has_child()
et elles échouent également.
Qu'est-ce qui ne va pas ici? Des idées sur où commencer?
EDIT:get_type()
au lieu de product_type()
se comporte de la même manière. add_to_cart_text()
échoue également, il pourrait donc être autre chose.
avez-vous essayé $ product-> get_type() à la place? [source de ma conjecture] (https://github.com/woocommerce/woocommerce/issues/13142) – Cashbee