Поэтому я перехватываю «woocommerce_remove_cart_item», затем отсюда удаляю второй элемент из корзины и добавляю «уведомление» о его восстановлении, поэтому я получил два уведомления о восстановлении элементов, но:
Будет возможнотолько одно уведомление (показывает оба элемента) и восстановить оба элемента одним щелчком мыши?
// Delete second item if CONDITION
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
if ( CONDITION ) {
array_push($array_to_delete,$cart_item);
}
}
//Unset all cart items selected
foreach( $array_to_delete as $cart_item ) {
$product = $cart_item['data'];
$prod_unique_id = WC()->cart->generate_cart_id( $product->id );
// Remove it from the cart by un-setting it
unset( WC()->cart->cart_contents[$prod_unique_id] );
//Add undo notice
$product = wc_get_product( $cart_item['product_id'] );
$item_removed_title = apply_filters( 'woocommerce_cart_item_removed_title', $product ? sprintf( _x( '“%s”', 'Item name in quotes', 'woocommerce' ), $product->get_name() ) : __( 'Item', 'woocommerce' ), $cart_item );
$removed_notice = sprintf( __( '%s removed.', 'woocommerce' ), $item_removed_title );
$removed_notice .= ' <a href="' . esc_url( WC()->cart->get_undo_url( $cart_item_key ) ) . '">' . __( 'Undo?', 'woocommerce' ) . '</a>';
wc_add_notice( $removed_notice );
*/
}