小编Arc*_*ana的帖子

在Woocommerce 3中更改购物车商品价格

我正在尝试使用以下功能在购物车中更改产品价格:

    add_action( 'woocommerce_before_shipping_calculator', 'add_custom_price' 
     );
      function add_custom_price( $cart_object ) {
         foreach ( $cart_object->cart_contents as $key => $value ) {
         $value['data']->price = 400;
        } 
     }
Run Code Online (Sandbox Code Playgroud)

它在WooCommerce版本2.6.x中正常工作,但在3.0+版本中不再有效

如何让它在WooCommerce版本3.0+中运行?

谢谢.

php wordpress product cart woocommerce

11
推荐指数
1
解决办法
2万
查看次数

应用优惠券代码后更改 WooCommerce 购物车价格

我在 WooCommerce 上创建了一个产品,并使用 hook 在产品详细信息页面上添加了两个选项woocommerce_before_add_to_cart_button。现在,当客户从产品详细信息页面将产品添加到购物车时,他们有两个选项。他们可以从这两个选项中选择一个。

然后我使用 woocommerce_add_cart_item_data 将用户选择的值存储在购物车元数据中。

我正在使用此答案中的代码:在购物车中保存产品自定义字段单选按钮值并在购物车页面上显示它

这是我的代码:

// single Product Page options  
add_action("woocommerce_before_add_to_cart_button", "options_on_single_product");
function options_on_single_product(){
    $dp_product_id = get_the_ID(); 
    $product_url = get_permalink($dp_product_id);

    ?>
        <input type="radio" name="custom_options" checked="checked" value="option1"> option1<br />
        <input type="radio" name="custom_options" value="option2"> option2
    <?php
}


//Store the custom field
add_filter( 'woocommerce_add_cart_item_data', 'save_custom_data_with_add_to_cart', 10, 2 );
function save_custom_data_with_add_to_cart( $cart_item_meta, $product_id ) {
    global $woocommerce;
    $cart_item_meta['custom_options'] = $_POST['custom_options'];
    return $cart_item_meta; 
}
Run Code Online (Sandbox Code Playgroud)

这就是我尝试过的:

add_action( 'woocommerce_before_calculate_totals', 'add_custom_price', 10, 1);
function add_custom_price( $cart_obj ) {

    if …
Run Code Online (Sandbox Code Playgroud)

php wordpress product cart woocommerce

5
推荐指数
1
解决办法
9066
查看次数

标签 统计

cart ×2

php ×2

product ×2

woocommerce ×2

wordpress ×2