WooCommerce 短代码用于 ajaxify 显示的消息:“购买 X 个更多产品以获得折扣" [英] WooCommerce shortcode to ajaxify message that display: "Buy X more products to get a discount"
本文介绍了WooCommerce 短代码用于 ajaxify 显示的消息:“购买 X 个更多产品以获得折扣"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
经过深入搜索,我创建了一个 WooCommerce 短代码.这样做的目的是显示购买 X 多产品以获得折扣".留言.
我的代码:
add_shortcode('check', 'custommessage');函数自定义消息(){$items_count = WC()->cart->get_cart_contents_count();$min_count = 6;if( $items_count <$min_count ){echo sprintf('%s 产品更多折扣' , $min_count - $items_count );}}
在 WooComerce 购物车页面上,将 X 个产品添加到购物车或移除数量后,其有效并自动刷新消息
但是当我将短代码(放在侧购物车上)时,它不会自动刷新 X 计数.虽然也是AJAX驱动的.
有什么建议可以解决这个问题吗?
解决方案
使用 woocommerce_add_to_cart_fragments
过滤器钩子
所以你得到:
function custom_message() {//初始化$message = __( '默认消息', 'woocommerce' );//真的如果(WC()->购物车){//获取购物车中的商品数量.$items_count = WC()->cart->get_cart_contents_count();$min_count = 6;如果( $items_count <$min_count ){$message = sprintf( __( '%s 产品有更多折扣', 'woocommerce' ), $min_count - $items_count );} 别的 {$message = __( 'Some message', 'woocommerce' );}}返回 $message;}//刷新购物车ajax事件函数 filter_woocommerce_add_to_cart_fragments( $fragments ) {$fragments['div.display-message'] = '
登录 关闭
扫码关注1秒登录
发送“验证码”获取
|
15天全站免登陆