如何在WC()之后在购物车上显示消息->;购物车->;删除购物车项目($cart\u item\u key)-Woocommerce

如何在WC()之后在购物车上显示消息->;购物车->;删除购物车项目($cart\u item\u key)-Woocommerce,woocommerce,Woocommerce,我正在试着用我的ERP检查产品是否有库存。所以,当您将clic添加到购物车时,我运行一个代码检查是否有库存,然后在缺货时将其删除。我想显示一条消息,上面说该产品因缺货而被删除 function custom_validate_stock() { if(1==1){ $stockERP = 0; if($stockERP < 1){ if ( sizeof( WC()->cart->ge

我正在试着用我的ERP检查产品是否有库存。所以,当您将clic添加到购物车时,我运行一个代码检查是否有库存,然后在缺货时将其删除。我想显示一条消息,上面说该产品因缺货而被删除

   function custom_validate_stock() {
       if(1==1){
           $stockERP = 0;
           if($stockERP < 1){
               if ( sizeof( WC()->cart->get_cart() ) > 0 ) {
                   foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
                       $_product = $values['data'];
                       if ( $_product->id == $product->id ){
                           WC()->cart->remove_cart_item($cart_item_key);
                           $removed = true;
                           break;
                       }
                   }
               }
           }
           if($removed){
               remove_action( 'woocommerce_cart_is_empty', 'wc_empty_cart_message', 10 );
               add_action( 'woocommerce_cart_is_empty', 'custom_empty_cart_message', 10 );
       
               
           }
       }
   }

   function custom_empty_cart_message() {
       $html  = '<div class="col-12 offset-md-1 col-md-10"><p class="cart-empty">';
       $html .= wp_kses_post( apply_filters( 'wc_empty_cart_message', __( 'Your product is out of stock, please refresh the page.', 'woocommerce' ) ) );
       echo $html . '</p></div>';
   }
函数自定义\验证\库存(){
如果(1==1){
$stockERP=0;
如果($stockERP<1){
如果(sizeof(WC()->cart->get_cart())>0){
foreach(WC()->cart->get_cart()作为$cart\u item\u key=>$value){
$_product=$values['data'];
如果($\u产品->id==$product->id){
WC()->购物车->删除购物车项目($cart\u item\u key);
$removed=true;
打破
}
}
}
}
如果(已删除){
删除操作('woocommerce\u cart\u为空','wc\u empty\u cart\u message',10);
添加操作('woocommerce\u cart\u为空','custom\u empty\u cart\u message',10);
}
}
}
函数自定义\空\购物车\消息(){
$html='

'; $html.=wp_kses_post(应用过滤器('wc_empty_cart_message',uuu('您的产品缺货,请刷新页面','woocommerce')); echo$html.“

”; }
紧接着

WC()->cart->remove_cart_item($cart_item_key);
我想你可以加一个通知:

wc_add_notice( __( 'Thing removed.', 'your-textdomain' ), 'error' );

为什么不在添加到购物车之前进行验证?非常感谢@helgatheviking,它很有效。但是消息显示在产品端,而不是购物车端。是否可以在购物车的侧面也显示它?“产品端”和“购物车端”是什么意思?通知在出现时添加,然后在下次加载页面时显示。