Basierend auf this answer code(Ich habe vor kurzem gemacht), ist es möglich, eine Funktion zu haben, die einen Meta Schlüssel/Wert in der Datenbank wp_postmeta
Tabelle für eine neue Kunden ersten Bestellung hinzufügen. So werden wir ein wenig, dass bedingte Funktion dieser Art und Weise ändern:
function new_customer_has_bought() {
$count = 0;
$new_customer = false;
// Get all customer orders
$customer_orders = get_posts(array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => get_current_user_id()
));
// Going through each current customer orders
foreach ($customer_orders as $customer_order) {
$count++;
}
// return "true" when it is the first order for this customer
if ($count > 2) // or ($count == 1)
$new_customer = true;
return $new_customer;
}
Dieser Code geht in function.php Datei Ihres aktiven Kind Thema oder ein Thema oder in einer Plugin-PHP-Datei.
BEI VERWENDUNG IN THANKYOU HOOK:
add_action('woocommerce_thankyou', 'tracking_new_customer');
function tracking_new_customer($order_id) {
// Exit if no Order ID
if (! $order_id) {
return;
}
// The paid orders are changed to "completed" status
$order = wc_get_order($order_id);
$order->update_status('completed');
// For 1st 'completed' costumer paid order status
if (new_customer_has_bought() && $order->has_status('completed'))
{
// Create 'first_order' custom field with 'true' value
update_post_meta($order_id, 'first_order', 'true'); needed)
}
else // For all other customer paid orders
{
// udpdate existing 'first_order' CF to '' value (empty)
update_post_meta($order_id, 'first_order', '');
}
}
Dieser Code geht in function.php Datei Ihres aktiven Kind Thema oder ein Thema oder in einer Plugin-PHP-Datei.
Jetzt nur für den ersten neuen Kundenauftrag Sie ein benutzerdefinierten Meta-Daten, die Schlüssel ist '_first_customer_order'
und Wert ist wahr.
für eine Bestell-ID definiert dieses diesen Wert zu erhalten, werden Sie diese verwenden (letzte Argument bedeutet, dass es eine Zeichenfolge ist):
// Getting the value for a defined $order_id
$first_customer_order = get_post_meta($order_id, 'first_order', false);
// to display it
echo $first_customer_order;
der gesamte Code ist getestet und funktioniert.
Referenzen
Willkommen bei SO! SO ist kein "Ich brauche das; gib mir Code" -Service. Dafür gibt es Suchmaschinen. Bitte geben Sie einen Code an, mit dem Sie bereits Probleme hatten, um Antworten zu erhalten. –