Уведомления при AJAX-добавлении в корзину
-
Я хочу при AJAX-добавлении в корзину выводить пользователю сообщение при некоторых условиях. Если кратко, то некоторые товары я не хочу, чтобы можно было добавить в корзину без авторизации. Я научился не давать добавлять товары в корзину при этих условиях, но не получается выводить при этом сообщение при AJAX-добавлении. Вот мой код:
add_action( 'woocommerce_add_to_cart', 'GM_add_to_cart_action', 10, 6 ); function GM_add_to_cart_action( $cart_id, $product_id, $request_quantity, $variation_id, $variation, $cart_item_data ) { if(!is_user_logged_in()) { $product_item = wc_get_product($product_id); $attributes = $product_item->get_attributes(); foreach ($attributes as $key_attr => $value_attr) if($key_attr == "coins_price") { foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { if ( $cart_item['product_id'] == $product_id ) { WC()->cart->remove_cart_item( $cart_item_key ); } } //wc_print_notice( 'Данный товар нельзя добавить в корзину, потому что...', 'error' ); } } }
Если я раскомментирую wc_print_notice, то сообщения всё равно не будет, а кнопка добавления будет зависать на «крутящемся кружочке». Я думаю, что это из-за того, что нет какого-то объекта при AJAX-добавлении, отвечающего за notice. Как я могу вывести пользователю notice при AJAX-добавлении?
P. S. я видел похожую тему, но решения там нет (без изменения кода WooCommerce): https://wordpress.org/support/topic/notices-after-ajax-add-to-cart/
- Тема «Уведомления при AJAX-добавлении в корзину» закрыта для новых ответов.