Maison >développement back-end >tutoriel php >Comment puis-je modifier dynamiquement les prix des produits et des variantes dans 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);
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 );
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 );
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
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!