J'ai le plugin officiel WooCommerce Product Addon et j'utilise sur un produit variable. cependant, j'aimerais que le prix soit affiché au-dessus du bouton Ajouter au panier plutôt qu'en dessous de la liste de sélection des variantes, comme ce n'est pas le cas actuellement.
J'ai cherché partout et j'ai déplacé le prix des produits individuels sous la brève description, mais je ne parviens pas à le faire pour les produits variables avec des modules complémentaires.
Capture d'écran montrant l'emplacement actuel et l'emplacement souhaité:
Toute aide est grandement appréciée.
3 Réponses :
jQuery('.price').insertAfter('.sauce') a front-end solution (just put the right selectors)
Le plugin Addon de produit de WooCommerce affiche déjà un tableau de prix personnalisé juste avant boutons d'ajout au panier, où la variation de prix sélectionnée est affichée, avec la tarification de l'option sélectionnée avec le sous-total:
Vous ne pouvez pas seulement déplacez uniquement le prix de la variante sélectionnée affichée , car il est piloté par JavaScript lors de l'événement de sélection en direct et groupé avec la disponibilité de la variante et la description de la variante (le cas échéant).
Alors, que pouvez-vous faire est:
1) Pour déplacer le prix de la variante avec sa disponibilité et sa description avant le bouton Ajouter au panier en utilisant:
add_filter( 'woocommerce_available_variation', 'hide_variation_selected_price', 10, 3 ); function hide_variation_selected_price( $data, $product, $variation ) { if( $product_addons = $product->get_meta('_product_addons') ) { if( sizeof($product_addons) > 0 ) { $data['price_html'] = ''; } } return $data; }
Le code va dans le fichier function.php de votre thème enfant actif (ou thème actif). Testé et fonctionne.
Mais il sera affiché après le tableau de prix personnalisé "Addon":
2) masquer le prix de la variante Woocommerce (car il est déjà affiché par le tableau de prix personnalisé "Addon")
add_action( 'woocommerce_before_variations_form', 'reposition_display_for_variable_products', 10 ); function reposition_display_for_variable_products() { global $product; if( $product_addons = $product->get_meta('_product_addons') ) { if( sizeof($product_addons) > 0 ) { remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10 ); add_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 16 ); } } }
Le code entre function.php de votre thème enfant actif (ou thème actif). Testé et fonctionne.
3) Utilisez les deux ensemble, en déplaçant la disponibilité de la variante et la description de la variante après" Addons " tableau de prix et bouton avant d'ajouter au panier:
Pour déplacer l'emplacement des totaux des modules complémentaires de produit, vous pouvez l'ajouter à votre fichier functions.php
:
if( isset($GLOBALS['Product_Addon_Display']) ){ add_action( 'some_action_hook', array( $GLOBALS['Product_Addon_Display'], 'totals' ), 10 ); }
Et si vous souhaitez le rajouter:
if( isset($GLOBALS['Product_Addon_Display']) ){ remove_action( 'woocommerce_product_addons_end', array( $GLOBALS['Product_Addon_Display'], 'totals' ), 10 ); }
Vous devez cependant vous assurer de deux choses:
# product-addons-total
dans un élément .cart
.