Direkt zum Hauptinhalt

Snippet - Prüfe ob Kunde Artikel im Besitz

Beschreibung:

Prüfe ob Kunde Artikel im Besitz, und gebe das beim Artikel aus.

Code:

add_action('woocommerce_before_single_product', function() {
    if (!is_user_logged_in()) {
        echo '<div style="padding:10px;background:#ffeeba;border-left:5px solid #f0ad4e;margin-bottom:15px;">
                🔒 Du bist nicht eingeloggt. Eine Besitzprüfung ist nicht möglich.
              </div>';
        return;
    }

    global $product;
    $user_id = get_current_user_id();
    $product_id = $product->get_id();

    $owns_product = wc_customer_bought_product('', $user_id, $product_id);

    if ($owns_product) {
        echo '<div style="padding:10px;background:#d4edda;border-left:5px solid #28a745;margin-bottom:15px;">
                ✅ Du besitzt dieses Produkt bereits.
              </div>';
    } else {
        echo '<div style="padding:10px;background:#f8d7da;border-left:5px solid #dc3545;margin-bottom:15px;">
                ❌ Du besitzt dieses Produkt nicht.
              </div>';
    }
});

Ausführung:

Wenn man nicht eingeloggt ist bekommt man diese Meldung:

grafik.png

Wenn man eingeloggt ist, diese wenn gekauft

grafik.png

und wenn man es noch nicht besitzt

grafik.png

Man kann sich überlegen ob man sich die Ausgabe, das man es nicht besitzt spart. In dem Man dieses wieder auskommentiert bzw. den else block entfernt. Genauso wie die Prüfung ob eingeloggt, kann man auch entfernen wenn es nervt oder man nicht haben will.