我正在使用WP作业管理器和Woo订阅.

现在:

>最初我选择了一个包(woo订阅)

>然后我添加了所有细节.

>但没有提交.

>回到网站,所以再次购买我需要选择一个包.所以我选择了包裹并填写了详细信息并转到付款包.

>现在在我的购物车中,两个包都存在(即我选择的没有第一次购买的包和最近的包)

>如何解决这个问题,以便最新选择的一个在购物车中,并且一旦选择了最新的一个,就会删除之前的一个.

解决方法:

更新(2种不同的替代品):

您应该尝试以下方法:

add_filter( 'woocommerce_add_to_cart_validation', 'remove_cart_item_before_add_to_cart', 20, 3 );

function remove_cart_item_before_add_to_cart( $passed, $product_id, $quantity ) {

if( ! WC()->cart->is_empty())

WC()->cart->empty_cart();

return $passed;

}

代码位于活动子主题(或主题)的function.php文件中.测试并使用ajax-add-to-cart和普通的add-to-cart ……

或者你可以使用另一个将保留在购物车中的最后添加的项目:

// Keep only last cart item

add_action( 'woocommerce_before_calculate_totals', 'keep_only_last_cart_item', 30, 1 );

function keep_only_last_cart_item( $cart ) {

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

return;

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

return;

$cart_items = $cart->get_cart();

if( count($cart_items) > 1 ){

$cart_item_keys = array_keys( $cart_items );

$cart->remove_cart_item( reset($cart_item_keys) );

}

}

代码位于活动子主题(或主题)的function.php文件中.经过测试和工作

标签:cart,php,wordpress,woocommerce,product

来源: https://codeday.me/bug/20190828/1748032.html

php实现清空购物车前确认,php – 在Woocommerce中添加到购物车之前清空购物车相关推荐

  1. java-php-python-ssm清空购物商城系统计算机毕业设计

    java-php-python-ssm清空购物商城系统计算机毕业设计 java-php-python-ssm清空购物商城系统计算机毕业设计 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  2. MVC项目功能之加入购物车,清空购物车

    一.本期目标 1.加入购物车   2.购物车查询  3.清空购物车 实现购物的三种方式: 第一种:session 保存购物车信息到session 1.点击我的购物车,查询后台的seesion,通过用户 ...

  3. vue外卖十九:商家详情-底部购物车组件,购物车相关vuex状态设计、相关计算、清空购物车+滚动购物车

    一.购物车基础 1)购物车状态设计cartFoods+mutation store/state.js // 所有要管理的状态数据:从页面需求分析出来,最好和api/index.js里的命名相同 exp ...

  4. Easyui项目之添加购物车、清空购物车

    添加购物车.清空购物车 添加购物车的三种方式 一:session保存购物车信息到session服务端 1.点击我的购物车查询后台的session,通过用户账号去找2.如果有那就显示,如果没有不显示 3 ...

  5. ecshop清空购物车提醒,ecshop购物车,ecshop清空购物车,ecshop提醒信息,ecshop清空操作提示

    功能简介 经常有朋友反应,他们在ecshop购物车中修改数量,点"更新购物车"时,经常不小心点中了"清空购物车",一下子,所以的产品都没了,这个插件是给ecsh ...

  6. [ECSHOP] 终于解决ECSHOP的购物车自动清空问题,改善会员体验

    [ECSHOP] 终于解决ECSHOP的购物车自动清空问题,改善会员体验 作者:magentoon    2013-9-5 13:44  查看: 2831|回复: 0   ECSHOP程序的购物车会自 ...

  7. 重启计算机后回收站,win7在右键菜单中添加“清空回收站”和“重新启动”选项的方法(图文)...

    win7系统需要定期清理一些无用的垃圾文件,删除的垃圾文件都在回收站,长时间堆积回收站里面的垃圾也占用内存,所以也要清理的.如果每天都需要使用清空回收站和重启,那么可以在右键菜单中添加"清空 ...

  8. 【购物商城演示,不断升级功能中……】35个模版颜色,53个登陆界面,9种图标,8个首页,5种功能界面,20多种奖金制度源码系统 演示网站介绍

    需要演示网站测试的话请关注我! 测试流程:   1.注册,进入后台会员管理→快速注册→开通账号.   2.加电子币,会员列表→修改→修改电子币数量.   3.购物,前台登陆注册账号购买产品然后结算. ...

  9. EasyUI项目之门户(添加查询购物车与清空购物车)

    目标效果: 目标: 1,添加查询购物车 2,清空购物车 一,添加查询购物车 三种实现方法 0.1 session 保存购物车信息到session服务端 0.2 cookie保存购物车到本地(效率更高  ...

最新文章

  1. 中科大分布式算法教案.pdf
  2. SUN JAVA面试笔试题
  3. Linux源码安装mysql 5.5.13 (cmake编译)
  4. GraphQL报错:error: NetworkError when attempting to fetch resource.
  5. 类型的权限已失败 SqlClientPermission
  6. 测试linux系统的程序员,日常测试Linux命令
  7. hive中统计某列数组的元素个数
  8. python最适合做什么-总算明了python适合做什么
  9. 由扔骰子看平均概率生成
  10. css表格强制不换行符,css控制table单元格强制换行与强制不换行
  11. 恶意文件 大数据案例库_无文件恶意软件感染完整指南
  12. 重启验证的三种形式及其解决方法
  13. 在线教育app平台搭建招生系统教培系统源码
  14. linux 与 windows操作系统的区别
  15. 手把手教python发送邮件
  16. 微软推出游戏服务器,成为云玩家 微软将推出“Project xCloud”云游戏服务
  17. java resultful风格接收参数
  18. OKCC外呼中心为什么要把语音引入WEB中?
  19. Js之$.ajax回调函数获取结果的问题-yellowcong
  20. potato社交苹果版下载-potato土豆社交ios下载

热门文章

  1. 能力开放平台系列-概述
  2. Spring boot + netty开发即时通讯 IM
  3. DEDE调用指定文章ID
  4. android 字符串中截取,【安卓按键精灵】几种字符串提取的方法(源码)
  5. [论文阅读笔记14]Nested named entity recognition revisited
  6. C语言训练-3426-小金追呀追不上妹子
  7. mac连接蓝牙耳机只有一个有声音
  8. Linux中断子系统---中断申请request_irq()与中断线程化request_threaded_irq()
  9. pandas的数据拼接与合并(concat、join、merge)
  10. 第1讲 几种密码技术的简要介绍——《图解密码技术》