在 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中文网其他相关文章!