首页 > 解决方案 > 哪个是从 woocommerce_before_calculate_totals 和 woocommerce_product_get_price 更改 woo-commerce 购物车价格的推荐过滤器?

问题描述

我需要根据添加的额外购物车项目数据更改 woo-commerce 购物车价格。所以推荐使用这个钩子。

我已使用动作挂钩“woocommerce_before_calculate_totals”来更改产品价格。首先,我使用 get_price() 方法获取产品原价并修改价格,然后使用 set_price() 方法设置产品价格。

但是其他一些插件使用过滤器“woocommerce_product_get_price”来更改产品价格。所以我所做的更改丢失了。

那么在购物车中更改产品价格的推荐挂钩是什么?

标签: phpwordpresswoocommercecart

解决方案


用于woocommerce_before_calculate_totals更改购物车价格 -

function change_wc_cart_item_price( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;

    foreach ( $cart->get_cart() as $item ) {
        $item['data']->set_price( 100 ); // Set item price 100
    }
}
add_action( 'woocommerce_before_calculate_totals', 'change_wc_cart_item_price', 99 );

推荐阅读