wc_add_to_cart_message_html — убрать галочку
-
Добрый день! Я использую хук wc_add_to_cart_message_html, но независимо от того, что я верну, около сообщения выводится зелёная галочка (при добавлении в корзину без AJAX). Хотелось бы иметь возможность при ошибке убирать эту галочку или заменять её на что-либо. Пока что моё решение:
add_filter( 'wc_add_to_cart_message_html', 'custom_add_to_cart_message', 10, 2 ); function custom_add_to_cart_message($message, $products) { if(!is_user_logged_in()) { foreach ($products as $product_id => $value) { $product_item = wc_get_product($product_id); $attributes = $product_item->get_attributes(); foreach ($attributes as $key_attr => $value_attr) if($key_attr == "coins_price") { $img_name = "red_dot"; $message = "<img src='".get_site_url()."/gm-data/service_images/".$img_name.".png' width='25'> Вы не можете данный товар добавить в корзину, так как вы не авторизованы. Пожалуйста, авторизуйтесь!"; } }; } return $message; }
При этом решении выводится ошибка про добавление товара (а другим хуком я удаляю товар из корзины в этот момент), человек видит, что ошибка добавления товара, но зелёная галочка при этом всё равно есть. Как её убрать? Может, есть другие хуки? А вообще, было бы здорово в этом случае сообщение из типа success превратить в тип error. Можно ли это сделать?
Если я попробую сделать «return null» вместо «return $message», то сообщение исчезает, но при этом если я ещё добавлю «wc_print_notice( ‘Данный товар нельзя добавить в корзину, потому что…’, ‘error’ );», то notice выводится, но сайт зависает и полностью не прогружается.
- Тема «wc_add_to_cart_message_html — убрать галочку» закрыта для новых ответов.