В этом уроке я на практике научу вас пользоваться функцией wc_customer_bought_product()
, которой, когда я начинал работать с WooCommerce, ещё не существовало.
Также мы слегка коснёмся темы кастомизации карточки товара, если хотите узнать об этом больше – рекомендую этот видеоурок на моём сайте.
Вот, что у нас должно получиться в ходе этого урока:
А ниже – готовый сниппет кода для functions.php
вашей темы или кастомного плагина.
add_action( 'woocommerce_after_shop_loop_item', 'truemisha_if_user_purchased_product', 25 ); function truemisha_if_user_purchased_product() { // не авторизован – ничего не делаем if ( ! is_user_logged_in() ) { return; } global $product; $current_user = wp_get_current_user(); if ( wc_customer_bought_product( $current_user->user_email, $current_user->ID, $product->get_id() ) ) { echo '<p>♥ ' . $current_user->first_name . ', вы уже покупали этот товар ранее. Хотите купить снова?</p>'; } }
Также на моём сайте можете отдельно почитать про то, как работают функции is_user_logged_in() и wp_get_current_user().
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Добрый вечер! подскажите, как реализовать подобное при добалении товара в корзину через AJAX?
Если конкретнее: На странице магазина товары, которые есть в корзине - подсвечиваются (подставляется класс .product-in-cart к .product ).
Как их подсветить сразу после добавления в козину через AJAX? т.е. обновить саму карточку а не только корзину.
Все попытки приводят лишь к тому, что обновляюся все карточки но с одинаковой информацией.
Добрый вечер! А вы как делаете?
учусь на практике методом проб и ошибок, зеленый еще)
добавлял через фильтр woocommerce_add_to_cart_fragments. В самой карточке еще инпут с кол-вом в корзине, попытка сделать как у вас автоматическое обновление корзины, только тут в каталоге, сейчас просто виснет, а до этого везде проставлял нули:
т.е. нужно обновить не только класс, а саму карточку.
Так добавляется класс:
НЕ прошу готовое решение, хотя бы вектор направления) весь гугл перерыл, не понимая, что ищу)
p.s. каюсь, изначально, видимо, не там комент оставил, много вкладок вашего сайта открыто)
Фрагменты, думаю, немного для другого всё-таки. Так вам пришлось бы создавать фрагмент на каждый товар.
Наверное лучше повесить какую-то дополнительную функцию, срабатывающую после добавления товара, ищущую на текущей странице опредлённый товар и делающую в нём изменения 👌