Maison > développement back-end > tutoriel php > Comment puis-je modifier dynamiquement les prix des produits et des variantes dans WooCommerce 3 ?

Comment puis-je modifier dynamiquement les prix des produits et des variantes dans WooCommerce 3 ?

Mary-Kate Olsen
Libérer: 2024-11-29 01:56:13
original
262 Les gens l'ont consulté

How Can I Dynamically Change Product and Variation Prices in WooCommerce 3 ?

Modification des prix des produits via un hook dans WooCommerce 3

Le plugin WooCommerce offre une méthode pratique pour modifier les prix des produits grâce à l'utilisation de hooks. Cela permet des ajustements de prix dynamiques en fonction de divers critères. Cependant, des problèmes surviennent lorsque vous tentez de modifier les prix des variations dans WooCommerce 3.

Approche originale et limitations

Pour modifier tous les prix des produits, y compris les variations, les crochets suivants peuvent être employés :

add_filter('woocommerce_get_price', array( $this, 'my_custom_price'), 99);
add_filter('woocommerce_get_regular_price', array( $this, 'my_custom_price'), 99);
Copier après la connexion

Malheureusement, ces crochets ne gèrent pas efficacement les variations produits.

Solution pour les produits de variation

Pour réussir à modifier les prix de variation dans WooCommerce 3, utilisez le code PHP suivant :

// Simple, grouped and external products
add_filter('woocommerce_product_get_price', array( $this, 'custom_price' ), 99, 2 );
add_filter('woocommerce_product_get_regular_price', array( $this, 'custom_price' ), 99, 2 );
// Variations 
add_filter('woocommerce_product_variation_get_regular_price', array( $this, 'custom_price' ), 99, 2 );
add_filter('woocommerce_product_variation_get_price', array( $this, 'custom_price' ), 99, 2 );

// Variable (price range)
add_filter('woocommerce_variation_prices_price', array( $this, 'custom_variable_price' ), 99, 3 );
add_filter('woocommerce_variation_prices_regular_price', array( $this, 'custom_variable_price' ), 99, 3 );
Copier après la connexion

Prix mis en cache et WooCommerce 3

WooCommerce 3 introduit les prix mis en cache pour les variantes. Pour actualiser efficacement les prix mis en cache lorsque des ajustements de prix sont effectués, utilisez les hooks suivants :

add_filter( 'woocommerce_get_variation_prices_hash', array( $this, 'add_price_multiplier_to_variation_prices_hash' ), 99, 3 );
Copier après la connexion

Hooks du widget de filtrage des prix

Pour filtrer les prix des produits à l'aide d'un widget, utilisez les crochets suivants :

woocommerce_price_filter_widget_min_amount
woocommerce_price_filter_widget_max_amount
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal