В этом уроке хочу поделиться с вами функцией, в которую вы сможете передать 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 );
Добры день, Миша. Благодарен вам за ваш труд. Иногда даже, когда не раз уже делал подобное, ваш сайт выручает, как шпаргалка. Такие труды не пройдут даром, спасибо! И успехов вам в жизни.
Добрый день!
Очень рад, спасибо! 🔥⚡️
И вам успехов :)