Как определить, сколько раз пользователь купил определёный товар

В этом уроке хочу поделиться с вами функцией, в которую вы сможете передать 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 );

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 2

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал