首页 > 后端开发 > php教程 > 如何在 WooCommerce 3 中动态更改产品和变体价格?

如何在 WooCommerce 3 中动态更改产品和变体价格?

Mary-Kate Olsen
发布: 2024-11-29 01:56:13
原创
178 人浏览过

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

通过 WooCommerce 3 中的 Hook 更改产品价格

WooCommerce 插件提供了一种通过使用 Hook 修改产品价格的便捷方法。这允许根据各种标准进行动态价格调整。但是,在尝试更改 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板