在WooCommerce中添加到购物车后,重新标记“添加到购物车”按钮
单击后,我想重新标记“ 按钮,然后将一项添加到购物车, 。
这可能吗?
我有第二个 ,并且它正在工作。 *
但是我不知道在将一件商品添加到购物车后如何解决此重新标签问题(商店仅出售一件尺寸不同的商品)。我希望我很清楚。
这是我的代码:
add_filter( 'woocommerce_product_add_to_cart_text', 'customizing_add_to_cart_button_text', 10, 2 );
add_filter( 'woocommerce_product_single_add_to_cart_text',
'customizing_add_to_cart_button_text', 10, 2 );
function customizing_add_to_cart_button_text( $button_text, $product )
{
if ( WC()->cart->get_cart_contents_count() )
return __( 'Add one more to cart', 'woocommerce' );
} else {
return __( 'Add to cart ', 'woocommerce' );
}
回答:
在下面,您将找到使此重新标记正常工作的正确条件:
add_filter( 'woocommerce_product_add_to_cart_text', 'customizing_add_to_cart_button_text', 10, 2 );add_filter( 'woocommerce_product_single_add_to_cart_text', 'customizing_add_to_cart_button_text', 10, 2 );
function customizing_add_to_cart_button_text( $button_text, $product )
{
$is_in_cart = false;
foreach ( WC()->cart->get_cart() as $cart_item )
if ( $cart_item['product_id'] == $product->get_id() ) {
$is_in_cart = true;
break;
}
if( $is_in_cart )
$button_text = __( 'Add one more to cart', 'woocommerce' );
return $button_text;
}
代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中。
经过测试和工作。
(例如商店页面或产品类别页面) 并且想要获得此实时事件,也应该添加以下内容:
add_action('wp_footer','custom_jquery_add_to_cart_script');function custom_jquery_add_to_cart_script(){
if ( is_shop() || is_product_category() || is_product_tag() ): // Only for archives pages
$new_text = __( 'Add one more to cart', 'woocommerce' );
?>
<script type="text/javascript">
// Ready state
(function($){
$('a.add_to_cart_button').click( function(){
$this = $(this);
$( document.body ).on( 'added_to_cart', function(){
$($this).text('<?php echo $new_text; ?>');
console.log('EVENT: added_to_cart');
});
});
})(jQuery); // "jQuery" Working with WP (added the $ alias as argument)
</script>
<?php
endif;
}
代码在您的活动子主题(或主题)的function.php文件中,或者在任何插件文件中。
经过测试和工作。
以上是 在WooCommerce中添加到购物车后,重新标记“添加到购物车”按钮 的全部内容, 来源链接: utcz.com/qa/409188.html