Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann man feststellen, ob ein Kunde einen Kauf in WooCommerce getätigt hat?
So überprüfen Sie, ob ein Kunde einen Kauf in WooCommerce getätigt hat
In WooCommerce ist es wichtig, Anreize für treue Kunden zu schaffen, die bereits gekauft haben gängige Praxis. Um solche Strategien effektiv umzusetzen, ist es notwendig zu überprüfen, ob ein Kunde schon einmal Einkäufe getätigt hat.
Überprüfung der Kaufhistorie
Um die Kaufhistorie eines Kunden zu ermitteln, bietet WooCommerce an eine einfache und effiziente bedingte Funktion namens has_bought(). Diese Funktion analysiert Kundendaten, um festzustellen, ob sie zuvor einen Kauf getätigt haben.
Die Funktion verwaltet sowohl registrierte Benutzer als auch Gäste:
Implementierung der Funktion
function has_bought( $value = 0 ) { if ( ! is_user_logged_in() && $value === 0 ) { return false; } global $wpdb; // Based on user ID (registered users) if ( is_numeric( $value) ) { $meta_key = '_customer_user'; $meta_value = $value == 0 ? (int) get_current_user_id() : (int) $value; } // Based on billing email (Guest users) else { $meta_key = '_billing_email'; $meta_value = sanitize_email( $value ); } $paid_order_statuses = array_map( 'esc_sql', wc_get_is_paid_statuses() ); $count = $wpdb->get_var( $wpdb->prepare(" SELECT COUNT(p.ID) FROM {$wpdb->prefix}posts AS p INNER JOIN {$wpdb->prefix}postmeta AS pm ON p.ID = pm.post_id WHERE p.post_status IN ( 'wc-" . implode( "','wc-", $paid_order_statuses ) . "' ) AND p.post_type LIKE 'shop_order' AND pm.meta_key = '%s' AND pm.meta_value = %s LIMIT 1 ", $meta_key, $meta_value ) ); // Return a boolean value based on orders count return $count > 0; }
Verwendungsbeispiele
Eingeloggt Kunde:
if( has_bought() ) echo '<p>You have already made a purchase</p>'; else echo '<p>Welcome, for your first purchase you will get a discount of 10%</p>';
Gast mit Rechnungs-E-Mail:
$email = '[email protected]'; if( has_bought( $email ) ) echo '<p>customer have already made a purchase</p>'; else echo '<p>Customer with 0 purchases</p>'
Das obige ist der detaillierte Inhalt vonWie kann man feststellen, ob ein Kunde einen Kauf in WooCommerce getätigt hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!