当前位置: 首页 > 知识库问答 >
问题:

WordPress.木材贸易。添加到购物车之前的操作钩

越飞翮
2023-03-14

我需要做的:我想在添加到购物车之前对一个产品运行一些检查。更确切地说:我想比较一下我即将添加到购物车中的产品,和已经添加的产品,看看是否存在一些冲突。举个例子:假设我们有一个名为“Both Shoes”的产品,和一个名为“Left Shoe”的产品。用户将“左鞋”添加到推车中。然后他又加上了“两只鞋”。我想打印一个错误而不是添加“both shoes”:对不起,但是如果你已经将left shoe添加到购物车中,你就不能添加both shoes了。如果要买“两只鞋”,请先去掉“左鞋”。

我已经查看了class-wc-cart.php并在第811行发现了一个动作挂钩,但是已经太晚了!在添加产品之后

我的“产品冲突管理器”功能如何在801行之前挂上,而不黑Woocommerce?

谢谢你!

共有1个答案

柯冯浩
2023-03-14

有点晚了,但我认为您正在寻找add to cart验证,这是可过滤的。以下是一个过于简化的版本:

function so_validate_add_cart_item( $passed, $product_id, $quantity, $variation_id = '', $variations= '' ) {

    // do your validation, if not met switch $passed to false
    if ( 1 != 2 ){
        $passed = false;
        wc_add_notice( __( 'You can not do that', 'textdomain' ), 'error' );
    }
    return $passed;

}
add_filter( 'woocommerce_add_to_cart_validation', 'so_validate_add_cart_item', 10, 5 );
 类似资料:
  • 最初,我选择了一个包(Woo订阅) 然后添加了所有详细信息。 但未提交。 回到网站,所以再次购买我需要选择一个包。所以我选择了这个包,并填写了详细信息,然后转到付款包。 现在在我的购物车中,两个包都存在(即我没有第一次购买就选择的包和最近的包) 如何修复此问题,使最新选定的一个在购物车中,而较早的一个在选定最新的一个后立即删除。 我尝试了这个Woocommerce从购物车中删除所有产品,并将当前产

  • 我正在开发一个电子商务网站使用wordpress和cilo wordpress主题。 该网站是所有一起在桌面和其他媒体,但当我的屏幕大小小于769px,添加到购物车按钮是不工作的signle产品页面。点击这里查看一个示例帖子 该主题在演示中运行良好 此主题在主题文件夹中使用woocommerce 在我的站点上尝试了其他主题,其中add to cart在移动站点上起作用 我尝试升级了所有内容,包括主

  • 在商品分类页面上,当有人点击“添加到购物车”时,WooCommerce通过Ajax在此按钮下方添加“查看购物车”。我发现处理这个的脚本是 /assets/js/frontend/add-to-cart.js 现在,我想添加"Procceed to check out",这样某人就可以立即去结账。 这是脚本的输出: 有没有人做过类似的事情?

  • 正如doublesharp所指出的那样,在解释问题上还有另一个问题,这并不是很清楚。 Joe点击一个产品,然后选择产品表单上的各种选项,然后在点击“添加到购物车”按钮之后,但在将其添加到购物车之前,计算自定义成本。 这些选项需要完全自定义,因为所涉及的计算超出了woocommerce“可变产品”的范围。我试图实现的是,客户能够添加同一产品的多个实例,并与之相关的各种成本和信息。

  • 问题内容: 单击后,我想重新标记“ 添加到购物车” 按钮,然后将一项添加到购物车, 再添加到购物车中 。 这可能吗? 我有第二个 转到购物车* 按钮的Child-Theme function.php ,并且它正在工作。 * 但是我不知道在将一件商品添加到购物车后如何解决此重新标签问题(商店仅出售一件尺寸不同的商品)。我希望我很清楚。 这是我的代码: 问题答案: 更新: 在下面,您将找到使此重新标记