2017-10-06 1 views
1

In WwooCommerce versuche ich das Schiff zu verschiedenen Adressinformationen in meiner Admin-E-Mail hinzuzufügen.Prüfen, ob "An andere Adresse senden" in WooCommerce aktiviert wurde

Wie kann ich überprüfen, ob das Kontrollkästchen zum Senden an eine andere Adresse von der Checkout-Seite überprüft wird?

Ich habe versucht, zu verwenden:

$ship_to_different_address = get_option('woocommerce_ship_to_destination') === 'shipping' ? 1 : 0; 

if($ship_to_different_address == 1): 
//the additional email text here 
endif; 

Aber diese Arbeit scheint nicht. Irgendwelche Ideen?

Antwort

3

Möge der beste Weg sein, ist es für die Auftragsadressen der Abrechnung und den Versand Vergleich zu emulieren. In den meisten verfügbaren E-Mail-Benachrichtigungs-Hooks ist das Objekt $order als Parameter enthalten. Hier

ist ein Beispiel mit dieser Funktion hakte in woocommerce_email_order_details Aktion Haken, die etwas unterschiedlich, je nachdem, das angezeigt werden:

add_action('woocommerce_email_order_details', 'custom_content_email_order_details', 10, 4); 
function custom_content_email_order_details($order, $sent_to_admin, $plain_text, $email){ 
    // Only for "New Order" and admin email notification 
    if ('new_order' != $email->id && ! $sent_to_admin) return; 

    // Displaying something related 
    if($order->get_billing_address_1() != $order->get_shipping_address_1()) { 
     echo '<p style="color:red;">Different billing and shipping addresses<p>'; 
    } else { 
     echo '<p style="color:green;">Same billing and shipping addresses<p>'; 
    } 
} 

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

Dieser Code wird in WooCommerce getestet 3.1+ und arbeitet

Sie auch (mit unterschiedlichen Prioritäten) eine der folgenden Haken in diesem Code verwenden können:
- woocommerce_email_before_order_table
- woocommerce_email_after_order_table
- woocommerce_email_order_meta
- woocommerce_email_customer_details

2

ahhh .. wir können nur prüfen, ob $_POST['ship_to_different_address'] gesetzt ..

Verwandte Themen