在 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;
}
并且想要在产品从购物车中删除后再次恢复文本的东西。
您的代码中有一些错误,请尝试以下操作:
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 文件中(或插件中)。已测试并有效。