Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Produktpreise in WooCommerce 3 mithilfe von Hooks effizient ändern?

Wie kann ich Produktpreise in WooCommerce 3 mithilfe von Hooks effizient ändern?

Barbara Streisand
Barbara StreisandOriginal
2024-11-28 08:38:11483Durchsuche

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

Produktpreise mithilfe von Hooks in WooCommerce 3 ändern

WooCommerce 3 führte verbesserte Optionen für die Manipulation von Produktpreisen mithilfe von Hooks ein, einschließlich derjenigen für Variationspreise. Die von Ihnen versuchten Hooks sind jedoch möglicherweise nicht geeignet.

Die empfohlenen Hooks zur Kontrolle der Produktpreise sind:

  • Einfach, gruppiert und extern Produkte:

    • woocommerce_product_get_price
    • woocommerce_product_get_regular_price
  • Variationen:

    • woocommerce_product_variation_get_regular_price
    • woocommerce_product_variation_get_price
  • Variable (Preis Bereich):

    • woocommerce_variation_prices_price
    • woocommerce_ Variation_prices_regular_price
  • Verkäufe:

    • wooco mmerce_product_get_sale_price
    • woocommerce_variation_prices_sale_price
    • woocommerce_product_variation_get_sale_price

Für Bei Variationspreisen müssen Sie auch zwischengespeicherte Preise verwalten. Der Filter woocommerce_get_variation_prices_hash ist für diesen Zweck effizient.

Um Variationen effektiver zu handhaben, sollten Sie die Plugin-Version des unten bereitgestellten Codes in Betracht ziehen. Es enthält eine Konstruktorfunktion und verwaltet das Preis-Caching.

// 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();

Fügen Sie zur Verwendung des Themes den folgenden Code in Ihre Datei „functions.php“ ein:

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

Denken Sie an die Verwendung von Display-HTML Haken werden die Produktpreise nicht effektiv verändern. Berücksichtigen Sie außerdem die Hooks zum Filtern von Produktpreisen in Widgets, die das Festlegen von Mindest- und Höchstpreisen ermöglichen.

Das obige ist der detaillierte Inhalt vonWie kann ich Produktpreise in WooCommerce 3 mithilfe von Hooks effizient ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn