在 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 掛鉤。此掛鉤可以在不刪除瞬態的情況下實現高效的價格更新。
對於使用小部件過濾的產品價格,請使用以下方法掛鉤:
以上是如何使用 Hook 有效修改 WooCommerce 產品價格(包括變體)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!