小编Man*_*nik的帖子

在 Woocommerce 更新购物车按钮操作后运行哪个 Hook

单击购物车页面中的更新购物车按钮后,我需要知道哪个挂钩正在运行。

也就是说,在购物车页面中,我们有 4 个按钮 , update cart, continue shopping, proceed to checkout, apply coupon

所以我想知道点击更新购物车按钮后运行哪个钩子。当客户在更改数量后单击更新购物车按钮时,我必须运行一个可以更改购物车中总价的特殊功能,如果满足某些条件,我将更改购物车中的总价,并且该总价需要传递。也到结帐页面 /

请帮忙 。

例如

add_filter('after_update_cart_function_finished', 'special_function');

function special_function(){
   $applied_coupons= WC()->cart->get_applied_coupons();
   if(!empty($applied_coupons)){

   $new_value=WC()->cart->get_cart_subtotal();
   $discounted=WC()->cart->coupon_discount_totals;
   $discounted_value=array_values($discounted)[0];
   $new_value=$new_value-$discounted_value+100;
    WC()->cart->set_total_price($new_value);
    After this update all post_meta value that regarding to order total
   }


}
Run Code Online (Sandbox Code Playgroud)

请参阅我编写的以下自定义函数以更改购物车中的值

 function action_woocommerce_cart_totals_after_order_total(  ) {
          $applied_coupons= WC()->cart->get_applied_coupons();
          if(!empty($applied_coupons)){


        $new_value=WC()->cart->get_cart_subtotal();
        $discounted=WC()->cart->coupon_discount_totals;
        $discounted_value=array_values($discounted)[0];
        $new_value=$new_value-$discounted_value;
        if($new_value<100){
            $new_value=$new_value+5;
        }

         ?>
         <style>
         .new-price-new{
             color:black;
             font-size: 17px;
         }
         </style>
         <script>
         jQuery(function($){
              $(".order-total .woocommerce-Price-amount.amount").text("£<?php  echo $new_value;?>");
              $(".order-total .woocommerce-Price-amount.amount").hide();
              $(".new-price").remove(); …
Run Code Online (Sandbox Code Playgroud)

php wordpress cart woocommerce hook-woocommerce

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

使用颜色和触发下拉操作将下拉列表转换为选择框

请帮助将此下拉列表转换为选择框,颜色如白盒,黑盒等[不勾选框].

在此输入图像描述

所以该页面正在加载,而不是显示下拉我需要显示颜色选择框,请帮忙.

我尝试了一些代码,但它只是部分工作.

<table class="variations" cellspacing="0">
  <tbody>
    <tr>
      <td class="label">
        <label for="pa_available-colors">Available Colors</label>
      </td>
      <td class="value">
        <select id="pa_available-colors" class="" name="attribute_pa_available-colors" data-attribute_name="attribute_pa_available-colors">
          <option value="" selected="selected">Choose an option</option>
          <option value="black" class="attached enabled" selected="selected">Black</option>
          <option value="white" class="attached enabled" selected="selected">White</option>
          <option value="red" class="attached enabled" selected="selected">Red</option>
        </select>
      </td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

请帮忙.请看下面的图片,我需要将下拉转换为这种类型的盒子 在此输入图像描述

html javascript css jquery css3

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

根据Woocommerce中的产品类别,优惠券有2个不同的百分比折扣

我正在寻找一个Woocommerce钩子,它将有助于在应用特定优惠券时根据2种不同的产品类别限制更改折扣百分比.

例如,如果客户添加特定优惠券,我想:

  1. 如果购物车商品来自产品类别A,那么它将为该商品提供10%的折扣.
  2. 如果它在产品类别B中,它将为该项目提供20%的折扣
  3. 更新总购物车价格

有没有可用于实现此目的的钩子?任何可用的动作钩子或过滤钩子?

到目前为止这是我的代码:

add_filter( 'woocommerce_get_discounted_price', 'apply_coupon', 10);
function apply_coupon($price) {
     global $woocommerce;
     $product=$woocommerce->cart->product;
     if(has_term( 'duplex-blinds', 'A' ,$product->id)){
       get_product_cart_price; 
      10% DISCOUNT
     }
     if(has_term( 'duplex-blinds', 'A' ,$product->id)){
      20% DISCOUNT
     }
     upadte total_discunt_incart($new_discount);
     upadte new_price_in_cart($new_price);
     upadte new_price_in_checkout($new_price);
  return $price;
}
Run Code Online (Sandbox Code Playgroud)

重要的是我需要修改需要发送到Paypal 的总购物车价格,总结算价格,总折扣价格和折扣价格.

我的商店有许多钩子,这就是为什么商业默认优惠券计算会出错.我注意到在购物车页面中,折扣价格是根据自定义产品价格正确得出的,但它没有从原始购物车金额更新,因此总价格保持不变.

但在结账页面折扣价格是根据产品原价而非产品定制价格计算的,所以折扣出错了,也不是从总价格中最小化...

php wordpress coupon custom-taxonomy woocommerce

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