首页 > 解决方案 > 每次我添加东西时验证购物车,每次不同的数量

问题描述

我是 php 和 worldpress 的新手,我正在为电子商务网站做一个验证代码,我设法做到了

function so_validate_add_cart_item( $passed, $product_id, $quantity, 
$variation_id = '', $variations= '' ) 
{
if ( 1 != 3 ){
 $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 );

问题是,这只是一个通用的东西(它甚至没有购物车的数量,它只是测试失败)但是我的系统有一步一步的“创建你自己的包”,每个步骤都有不同的数量您必须选择的项目,所以我需要知道如何在每一步中使用不同的条件进行检查,这意味着我如何告诉网站在一个页面中做某事而在另一个页面中做某事

标签: phpwordpresswoocommerce

解决方案


如果您想检查所有购物车商品的详细信息,包括每件商品的数量,您可以从 global $woocommerce 访问购物车数据

function so_validate_add_cart_item( $passed, $product_id, $quantity, 
$variation_id = '', $variations= '' ) 
{
    global $woocommerce;
    $cart_items = $woocommerce->cart->get_cart();
    //enter code here
    if ( 1 != 3 ){
      $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 );

希望这可以帮助。


推荐阅读