首頁 > 後端開發 > php教程 > 如何在 WooCommerce 3 中動態更改產品和變體價格?

如何在 WooCommerce 3 中動態更改產品和變體價格?

Mary-Kate Olsen
發布: 2024-11-29 01:56:13
原創
224 人瀏覽過

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

透過 WooCommerce 3 中的 Hook 更改產品價格

WooCommerce 外掛程式提供了一種透過使用 H捷ook 修改產品價格的便捷方法。這允許根據各種標準進行動態價格調整。但是,在嘗試更改 WooCommerce 3 中的變體價格時會出現問題。

原始方法和限制

要修改所有產品價格(包括變體),可以使用以下掛鉤使用:

add_filter('woocommerce_get_price', array( $this, 'my_custom_price'), 99);
add_filter('woocommerce_get_regular_price', array( $this, 'my_custom_price'), 99);
登入後複製

不幸的是,這些鉤子不能有效地處理變化產品。

變體產品解決方案

要成功修改WooCommerce 3 中的變體價格,請使用以下PHP 代碼:

// 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 );
登入後複製

快取價格和WooCommerce 3

WooCommerce 3 引入了變體的快取價格。要在價格調整時有效刷新快取價格,請使用以下掛鉤:

add_filter( 'woocommerce_get_variation_prices_hash', array( $this, 'add_price_multiplier_to_variation_prices_hash' ), 99, 3 );
登入後複製

價格過濾小部件掛鉤

要使用小部件過濾產品價格,請使用以下鉤子:

woocommerce_price_filter_widget_min_amount
woocommerce_price_filter_widget_max_amount
登入後複製

以上是如何在 WooCommerce 3 中動態更改產品和變體價格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板