В этом уроке хочу поделиться с вами функцией, в которую вы сможете передать ID товара и ID пользователя и она вернет вам количество, в котором пользователь купил этот товар за всё время.
Кстати, рекомендую вам свой курс по WooCommerce, в котором мы создаём тему для интернет-магазина с нуля, на основе готовой вёрстки, вот ссылка.
Сама функция, которую вы можете вставить например в functions.php
и потом использовать в любом месте на сайте:
function truemisha_get_amount_purchased_by_user( $user_id, $product_id ) { // сначала мы получаем все заказы пользователя $customer_orders = wc_get_orders( array( 'limit' => -1, 'status' => array( 'completed', 'processing'), 'customer' => $user_id, ) ); // в этой переменной и будет храниться количество товара $count = 0; // запускаем заказы в цикле foreach ( $customer_orders as $customer_order ) { $order = wc_get_order( $customer_order->get_id() ); $items = $order->get_items(); foreach ( $items as $item ) { if ( $product_id == $item->get_product_id() ) { $count = $count + absint( $item[ 'qty' ] ); } } } // возвращаем количество return $count; }
Давайте попробуем использовать эту функцию для определения количества покупок товара текущим пользователем, для этого воспользуемся функцией get_current_user_id().
echo 'Вот сколько раз вы уже купили товар с ID=32 : '; echo truemisha_get_amount_purchased_by_user( get_current_user_id(), 32 );
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Добры день, Миша. Благодарен вам за ваш труд. Иногда даже, когда не раз уже делал подобное, ваш сайт выручает, как шпаргалка. Такие труды не пройдут даром, спасибо! И успехов вам в жизни.
Добрый день!
Очень рад, спасибо! 🔥⚡️
И вам успехов :)