Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Produkt- und Variationspreise in WooCommerce 3 dynamisch ändern?
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!