Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Produkt- und Variationspreise in WooCommerce 3 dynamisch ändern?

Wie kann ich Produkt- und Variationspreise in WooCommerce 3 dynamisch ändern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 01:56:13235Durchsuche

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

Produktpreise über einen Hook in WooCommerce 3 ändern

Das WooCommerce-Plugin bietet eine praktische Methode zum Ändern von Produktpreisen über den Einsatz von Hooks. Dies ermöglicht dynamische Preisanpassungen anhand verschiedener Kriterien. Beim Versuch, Variationspreise in WooCommerce 3 zu ändern, treten jedoch Probleme auf.

Ursprünglicher Ansatz und Einschränkungen

Um alle Produktpreise, einschließlich Variationen, zu ändern, können die folgenden Haken verwendet werden beschäftigt:

add_filter('woocommerce_get_price', array( $this, 'my_custom_price'), 99);
add_filter('woocommerce_get_regular_price', array( $this, 'my_custom_price'), 99);

Leider können diese Haken Variationen nicht effektiv bewältigen Produkte.

Lösung für Variationsprodukte

Um Variationspreise in WooCommerce 3 erfolgreich zu ändern, verwenden Sie den folgenden PHP-Code:

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

Zwischengespeicherte Preise und WooCommerce 3

WooCommerce 3 führt zwischengespeicherte Preise für ein Variationen. Um zwischengespeicherte Preise bei Preisanpassungen effizient zu aktualisieren, verwenden Sie die folgenden Hooks:

add_filter( 'woocommerce_get_variation_prices_hash', array( $this, 'add_price_multiplier_to_variation_prices_hash' ), 99, 3 );

Preisfilter-Widget-Hooks

Um Produktpreise mithilfe eines Widgets zu filtern, verwenden Sie die folgenden Haken:

woocommerce_price_filter_widget_min_amount
woocommerce_price_filter_widget_max_amount

Das obige ist der detaillierte Inhalt vonWie kann ich Produkt- und Variationspreise in WooCommerce 3 dynamisch ä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