2017-07-16 1 views
1

Ich habe eine Kasse Formular mit einem benutzerdefinierten Feld.Woocommerce E-Mail-Benachrichtigung Empfänger bedingt auf benutzerdefinierten Feld

Ich möchte einen zusätzlichen Empfänger zu einer E-Mail-Bestellung basierend auf dem Wert im benutzerdefinierten Feld hinzufügen. Das benutzerdefinierte Feld ist derzeit ein Dropdown-Menü mit nur drei Optionen.

Unten ist der Code, den ich zusammen mit etwas googlen konnte, aber das scheint nicht zu funktionieren.

function sv_conditional_email_recipient($recipient, $order) { 

    $custom_field = get_post_meta($orderid, 'custom_field', true); 

    if ($custom_field == "Value 1") 
    { 
     $recipient .= ', [email protected]'; 
    } 
    elseif ($custom_field == "Value 2") 
    { 
     $recipient .= ', [email protected]'; 
    } 
    elseif ($custom_field == "Value 3") 
    { 
     $recipient .= ', [email protected]'; 
    } 
    return $recipient; 
} 

add_filter('woocommerce_email_recipient_new_order', 'sv_conditional_email_recipient', 10, 2); 

Jede Hilfe wird geschätzt.

Danke.

Antwort

0

Ihr Problem kommt von der $ orderid, die nicht definiert ist. Versuchen Sie stattdessen:

add_filter('woocommerce_email_recipient_new_order', 'new_order_conditional_email_recipient', 10, 2); 
function new_order_conditional_email_recipient($recipient, $order) { 

    // Get the order ID (retro compatible) 
    $order_id = method_exists($order, 'get_id') ? $order->get_id() : $order->id; 

    // Get the custom field value (with the right $order_id) 
    $custom_field = get_post_meta($order_id, 'custom_field', true); 

    if ($custom_field == "Value 1") 
     $recipient .= ', [email protected]'; 
    elseif ($custom_field == "Value 2") 
     $recipient .= ', [email protected]'; 
    elseif ($custom_field == "Value 3") 
     $recipient .= ', [email protected]'; 

    return $recipient; 
} 

-Code geht in function.php Datei Ihres aktiven Kind Thema (oder Thema) oder auch in jeder Plugin-Datei.

Code ist getestet und funktioniert auf WooCommerce 2.6.x und 3+.


Verwandte Themen