Maison >développement back-end >tutoriel php >Comment puis-je modifier efficacement les prix des produits dans WooCommerce 3 à l'aide de Hooks ?

Comment puis-je modifier efficacement les prix des produits dans WooCommerce 3 à l'aide de Hooks ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-28 08:38:11396parcourir

How Can I Efficiently Change Product Prices in WooCommerce 3  Using Hooks?

Modifier les prix des produits à l'aide de crochets dans WooCommerce 3

WooCommerce 3 a introduit des options améliorées pour manipuler les prix des produits à l'aide de crochets, y compris celles pour les prix de variation. Cependant, les hooks que vous avez essayés peuvent ne pas être appropriés.

Les hooks recommandés pour contrôler les prix des produits sont :

  • Simple, groupé et externe. Produits :

    • woocommerce_product_get_price
    • woocommerce_product_get_regular_price
  • Variations :

    • woocommerce_product_variation_get_regular_price
    • woocommerce_product_variation_get_price
  • Variable (Prix Gamme) :

    • woocommerce_variation_prices_price
    • woocommerce_variation_prices_regular_price
  • Ventes :

    • wooco mmerce_product_get_sale_price
    • woocommerce_variation_prices_sale_price
    • woocommerce_product_variation_get_sale_price

Pour variations des prix, vous devrez également gérer les prix mis en cache. Le filtre woocommerce_get_variation_prices_hash est efficace à cet effet.

Pour gérer les variations plus efficacement, considérez la version plugin du code fournie ci-dessous. Il comprend une fonction constructeur et gère la mise en cache des prix.

// Plugin Version
class MyPlugin {
    public function __construct() {
        // 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);
        // Handling price caching
        add_filter('woocommerce_get_variation_prices_hash', array($this, 'add_price_multiplier_to_variation_prices_hash'), 99, 3);
    }
    // ...functionality as described in the original answer...
}
new MyPlugin();

Pour l'utilisation du thème, placez le code suivant dans votre fichier function.php :

// Theme Version
// ...functionality as described in the original answer...

N'oubliez pas que l'utilisation de display html les crochets ne modifieront pas efficacement les prix des produits. De plus, pensez aux crochets permettant de filtrer les prix des produits dans les widgets, qui permettent de définir des prix minimum et maximum.

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:
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