Wenn Sie einen WooCommerce-Shop betreiben, kann es nützlich sein zu wissen, ob ein bestimmter Kunde bereits ein bestimmtes Produkt gekauft hat. In diesem Blog-Beitrag zeige ich Ihnen, wie Sie mit einer selbst erstellten Funktion in WooCommerce überprüfen können, ob ein Kunde ein Produkt gekauft hat.
Zunächst müssen Sie die Funktion in Ihrem WooCommerce-Shop einbinden. Öffnen Sie dazu Ihre functions.php-Datei Ihres WordPress-Theme und fügen Sie den folgenden Code am Ende der Datei ein:
abstract class WooHelper {
public static function check_customer_purchased_product($user_id, $product_id) {
$customer_orders = \wc_get_orders([
'customer_id' => $user_id,
'status' => array_keys(\wc_get_order_statuses()),
]);
foreach ($customer_orders as $order ) {
if (self::has_product($order, $product_id)) {
return true;
}
}
return false;
}
public static function has_product($order, $product_id) {
foreach ($order->get_items() as $item) {
if ($item->get_product_id() == $product_id) {
return true;
}
}
return false;
}
}
Sobald Sie den Code in Ihre functions.php-Datei eingefügt haben, können Sie die Funktion in Ihrem Shop verwenden, um zu überprüfen, ob ein Kunde ein bestimmtes Produkt gekauft hat. Die Funktion heißt check_customer_purchased_product
und akzeptiert zwei Parameter: user_id
(die ID des Kunden, den Sie überprüfen möchten) und product_id
(die ID des Produkts, das Sie überprüfen möchten).
if (WooHelper::check_customer_purchased_product($user_id, $product_id)) {
// Kunden hat das Produkt bereits gekauft
} else {
// Kunden hat das Produkt noch nicht gekauft
}
Die Funktion durchsucht die Bestellungen des Kunden nach dem angegebenen Produkt und gibt true
zurück, wenn der Kunde das Produkt bereits gekauft hat, andernfalls gibt sie false
zurück.
Zusammenfassend kann diese selbst erstellte Funktion in WooCommerce nützlich sein, um zu überprüfen, ob ein Kunde bereits ein bestimmtes Produkt gekauft hat. Mit nur wenigen Zeilen Code können Sie diese Funktion in Ihrem Shop implementieren und von ihren Vorteilen profitieren.