Modifier les prix des produits via un hook dans WooCommerce 3
La plateforme WooCommerce propose divers hooks pour modifier les prix des produits. Bien que la solution présentée à l'aide de add_filter('woocommerce_get_regular_price') et add_filter('woocommerce_get_price') fonctionne pour des produits simples, elle rencontre des limites lorsqu'il s'agit de produits à variantes.
Prix des produits à variantes
Pour ajuster les prix des produits de variation, les crochets mis à jour suivants sont recommandé :
Simple, groupé et externe Produits :
Variations :
Variable Gamme de produits :
Implémentation du plugin
Pour implémenter ces hooks au sein d'un plugin, considérez ce qui suit :
add_filter('woocommerce_product_get_price', 'custom_price', 99, 2); add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2); add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3); add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3); function custom_price($price, $product) { $multiplier = 2; // Adjust as needed return (float) $price * $multiplier; } function custom_variable_price($price, $variation, $product) { $multiplier = 2; // Adjust as needed return (float) $price * $multiplier; }
Implémentation du thème
Si vous préférez une approche basée sur un thème, incluez le code suivant dans votre fichier function.php :
add_filter('woocommerce_product_get_price', 'custom_price', 99, 2); add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2); add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2); add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3); add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3); function custom_price($price, $product) { $multiplier = 2; // Adjust as needed return (float) $price * $multiplier; } function custom_variable_price($price, $variation, $product) { $multiplier = 2; // Adjust as needed return (float) $price * $multiplier; }
Notes supplémentaires et Améliorations
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!