首頁 >後端開發 >php教程 >如何使用 Hook 有效修改 WooCommerce 產品價格(包括變體)?

如何使用 Hook 有效修改 WooCommerce 產品價格(包括變體)?

Patricia Arquette
Patricia Arquette原創
2024-11-29 13:09:09398瀏覽

How to Effectively Modify WooCommerce Product Prices (Including Variations) Using Hooks?

如何在 WooCommerce 3 中使用 Hook 修改產品價格

在 WooCommerce 中,修改產品價格需要使用特定的 Hook。雖然此過程對於簡單產品來說很簡單,但變體產品提出了獨特的挑戰。

克服變體價格修改挑戰

使用過時的掛鉤 woocommerce_get_regular_price 和 woocommerce_get_price 對於 WooCommerce 3 中的變體產品不再有效因為它們已被棄用。為了確保相容性,必須使用適當的掛鉤並正確應用它們。

要修改所有產品價格,包括變體價格,請實施以下掛鉤:

外掛程式版本:

add_filter('woocommerce_product_get_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2);
// Variations 
add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2);
add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2);

// Variable (price range)
add_filter('woocommerce_variation_prices_price', 'custom_variable_price', 99, 3);
add_filter('woocommerce_variation_prices_regular_price', 'custom_variable_price', 99, 3);

主題版本:

add_filter('woocommerce_product_get_price', 'custom_price', 99, 2 );
add_filter('woocommerce_product_get_regular_price', 'custom_price', 99, 2 );
// Variations
add_filter('woocommerce_product_variation_get_regular_price', 'custom_price', 99, 2 );
add_filter('woocommerce_product_variation_get_price', 'custom_price', 99, 2 );

在custom_price 和custom_variable_price 函數中,將所需的價格乘數應用於現有價格以實現所需的變更。

可變價格範圍處理

可變產品顯示一系列價格。 woocommerce_variation_prices_price 和 woocommerce_variation_prices_regular_price 掛鉤可用來修改此範圍。

處理快取價格

要處理 WooCommerce 3 中的快取價格,請使用 woocommerce_get_variation_prices_hash 掛鉤。此掛鉤可以在不刪除瞬態的情況下實現高效的價格更新。

其他注意事項

對於使用小部件過濾的產品價格,請使用以下方法掛鉤:

  • woocommerce_price_filt er_widget_min_amount
  • woocommerce_price_filter_widget_max_amount

以上是如何使用 Hook 有效修改 WooCommerce 產品價格(包括變體)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn