繁体   English   中英

更改Woocommerce中特定产品类别的购物车项目价格

[英]Change cart item prices for specific product categories in Woocommerce

我只想将购物车中产品的常规价格更改为自定义价格(仅针对特定类别(“ t恤衫d”,“袜子d”,“慢跑者d”,“拳击手d”)),因为每个产品共有2个不同的类别。

我尝试过这样做,但效果很好,但是自定义价格也会影响其他类别,因此我只想显示其他类别的原始价格(“ t恤”,“袜子”,“慢跑者”,“拳击手”)。

我需要帮助。

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

function changeprice($html, $cart_item, $cart_item_key){
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        //$thepro = $woocommerce->cart->get_cart();
$product = $cart_item['data'];
 $heading_nicename = array('t-shirts-d','socks-d','joggers-d','boxers-d');
 //$heading_nicename1 = array('t-shirts','socks','joggers','boxers');
   $termsother =  $heading_nicename;
 foreach( $termsother as $termsnew ) {
  if (is_cart()) {
            $price_adjusted = 666.666666667; // your adjustments here
            $price_base = $cart_item['data']->sale_price;
            if (!empty($price_adjusted)) {
                if (intval($price_adjusted) > 0) {
                    $cart_item['data']->set_price($price_adjusted);
                } /*else {
                    $html = '<span class="amount">' . wc_price($price_base) 
  . '</span>';
                }*/
            }
        }
     }
   }
   }
    add_filter('woocommerce_cart_item_price', 'changeprice', 100, 3);

正确的工作钩(已更新)

add_action( 'woocommerce_before_calculate_totals', 'change_cart_items_prices', 10, 1 );
function change_cart_items_prices( $cart ) {

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
        return;

    foreach ( $cart->get_cart() as $cart_item ) {
        if( has_term( array('t-shirts-d','socks-d','joggers-d','boxers-d'), 'product_cat', $cart_item['product_id'] ) ){
            $price_adjusted = 666.666666667; // your adjustments here
            if ( ! empty( $price_adjusted ) && intval( $price_adjusted ) > 0) {
                $cart_item['data']->set_price( $price_adjusted );
            }
        }
    }
}

代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中。

这次,一切都可以在购物车和结帐页面上进行。 总计也会更新

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM