在woocommerce_before_calculate_totals过滤器中获取产品ID

时间:2015-03-23 10:40:50

标签: woocommerce

我正在尝试获取产品的产品ID,其中点击了添加到购物车按钮,以便我可以在购物车中更改该产品的价格。全局产品对象不起作用并显示NULL。目前我有硬编码的产品ID,即$ target_product_id = 48,这是我的代码

add_action( 'woocommerce_before_calculate_totals',array($this,'add_custom_price' )); 

function add_custom_price( $cart_object ) {

            $tac_dd_discounted_price = 10; 

            $target_product_id = 48;

            foreach ( $cart_object->cart_contents as $key => $value ) {
                if ( $value['product_id'] == $target_product_id ) {
                    $value['data']->price = $custom_price;
                }

            }

            /*global $woocommerce; 
            $woocommerce->cart->add_to_cart(48);*/

        }

1 个答案:

答案 0 :(得分:1)

如果设置,$_REQUEST['add-to-cart']应该会为您提供刚刚添加到购物车中的产品的ID。