程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 WooCommerce 结账时显示“您节省了 X%”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 WooCommerce 结账时显示“您节省了 X%”?

开发过程中遇到在 WooCommerce 结账时显示“您节省了 X%”的问题如何解决?下面主要结合日常开发的经验,给出你关于在 WooCommerce 结账时显示“您节省了 X%”的解决方法建议,希望对你解决在 WooCommerce 结账时显示“您节省了 X%”有所启发或帮助;

我制作了一个功能,可以在结账时显示基于产品折扣的总节省,但我希望它显示高于订单总额的节省百分比,如果可能,将其显示在框内。 代码:

function wc_discount_@R_475_10586@l() {
   global $woocommerce;
    $discount_@R_475_10586@l = 0;
      
    foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values) {
          
    $_product = $values['data'];
  
        if ( $_product->is_on_SALE() ) {
        $regular_price = $_product->get_regular_price();
        $SALE_price = $_product->get_SALE_price();
        $discount = ($regular_price - $SALE_pricE) * $values['quantity'];
        $discount_@R_475_10586@l += $discount;
        }
    }        
    if ( $discount_@R_475_10586@l > 0 ) {
    echo '<tr class="cart-discount">
    <th>'. __( 'Your Savings','woocommerce' ) .'</th>
    <td data-title=" '. __( 'You Saved','woocommerce' ) .' ">'
    . wc_price( $discount_@R_475_10586@l + $woocommerce->cart->discount_cart ) .'</td>
    </tr>';
    }
}
add_action( 'woocommerce_cart_@R_475_10586@ls_after_order_@R_475_10586@l','wc_discount_@R_475_10586@l',99);
add_action( 'woocommerce_revIEw_order_after_order_@R_475_10586@l',99);

我当前的结帐方式:

在 WooCommerce 结账时显示“您节省了 X%”

放大:

在 WooCommerce 结账时显示“您节省了 X%”

我想要的样子:

在 WooCommerce 结账时显示“您节省了 X%”

解决方法

如果该订单有折扣,那么您可以添加另一个表格行标签并计算百分比。所以它会是这样的

add_action('woocommerce_cart_@R_475_10586@ls_after_order_@R_475_10586@l','wc_discount_@R_475_10586@l',99);

add_action('woocommerce_review_order_after_order_@R_475_10586@l',99);

function wc_discount_@R_475_10586@l()
{
  global $woocommerce;
  $discount_@R_475_10586@l = 0;

  foreach ($woocommerce->cart->get_cart() as $cart_item_key => $values) {

    $_product = $values['data'];

    if ($_product->is_on_SALE()) {
      $regular_price = $_product->get_regular_price();
      $SALE_price = $_product->get_SALE_price();
      $discount = ($regular_price - $SALE_pricE) * $values['quantity'];
      $discount_@R_475_10586@l += $discount;
    }
  }
  if ($discount_@R_475_10586@l > 0) {
    echo '<tr class="cart-discount">
      <th>' . __('Your Savings','woocommerce') . '</th>
      <td data-title=" ' . __('You Saved','woocommerce') . ' ">'
      . wc_price($discount_@R_475_10586@l + $woocommerce->cart->discount_cart) . '</td>
      </tr>';

    $@R_475_10586@l = WC()->cart->cart_contents_@R_475_10586@l;
    $@R_475_10586@l_saved = wc_price($discount_@R_475_10586@l + $woocommerce->cart->discount_cart);
    $percentage_saved = round(($@R_475_10586@l_saved * 100) / $@R_475_10586@l);

    echo '<tr class="cart-percentage-discount">
      <th>' . __('Percentage Saved','woocommerce') . ' ">' . esc_html($percentage_saved . "%") . '</td>
      </tr>';
  }
}

大佬总结

以上是大佬教程为你收集整理的在 WooCommerce 结账时显示“您节省了 X%”全部内容,希望文章能够帮你解决在 WooCommerce 结账时显示“您节省了 X%”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。