WooCommerce:从购物车中删除产品时更改(恢复)“添加到购物车”文本

问题描述 投票:0回答:1

在 Woocommerce 中,我想在从购物车中删除相应产品时更新“添加到购物车”文本。

我有以下代码,可以在将产品添加到购物车时更改文本:

add_filter( 'woocommerce_product_single_add_to_cart_text', 'already_in_cart_single_product' );
function already_in_cart_single_product( $label ) {
   foreach( WC()->cart->get_cart() as $cart_item_key => $values ) {
      $product = $values['data'];
      if( get_the_ID() == $product->get_id() ) {
         $label = __('Product already in Cart. Add again?', 'woocommerce');
      }
   } 
   return $label;
}

并且想要在产品从购物车中删除后再次恢复文本的东西。

php wordpress woocommerce product cart
1个回答
0
投票

您的代码中有一些错误,请尝试以下操作:

add_filter( 'woocommerce_product_single_add_to_cart_text', 'already_in_cart_single_add_to_cart_text', 10, 2 );
function already_in_cart_single_add_to_cart_text( $add_to_cart_text, $product ) {
    foreach( WC()->cart->get_cart() as $item ) {
        if( $item['data']->get_id() === $product->get_id() ) {
            return __('Product already in Cart. Add again?', 'woocommerce');
        }
    } 
    return $add_to_cart_text;
}

代码位于子主题的functions.php 文件中(或插件中)。已测试并有效。

© www.soinside.com 2019 - 2024. All rights reserved.