簡體   English   中英

添加文本到 WooCommerce 客戶完成訂單 email 基於運輸和訂單備注

[英]Add a text to WooCommerce customer complete order email based on shipping and order note

我正在嘗試根據運輸和如果/如果不是訂單注釋為空,將信息添加到客戶完成訂單 email。

基於是否填寫訂單備注字段的兩條不同消息。 我已經下了測試訂單,但沒有任何顯示。

這是我試圖開始工作的代碼:

add_action( 'woocommerce_email_order_details', 'local_pickup_order_instructions', 10, 4 );
function local_pickup_order_instructions( $order, $sent_to_admin, $plain_text, $email ) {

    if ( 'customer_completed_order' != $email->id ) return;

    foreach( $order->get_items('shipping') as $shipping_item ) {

        $shipping_rate_id = $shipping_item->get_method_id();

        $method_array = explode(':', $shipping_rate_id );

        $shipping_method_id = reset($method_array);

    if ('local_pickup' == $shipping_method_id && empty($_POST['order_comments'])){ ?>

        <div style="">Your instructions text here</div>

    <?php

    break;
    }
        else {

    if ('local_pickup' == $shipping_method_id && !empty($_POST['order_comments'] ) ) { ?>

        <div style="">Your instructions text here</div>
    
        <?php

        }
    }
}
}

您的代碼中存在一些錯誤...如果有(或沒有)客戶備注,當運輸方式為“本地取貨”時顯示不同的自定義文本,請使用以下簡化和重新訪問的代碼:

add_action( 'woocommerce_email_order_details', 'local_pickup_order_instructions', 10, 4 );
function local_pickup_order_instructions( $order, $sent_to_admin, $plain_text, $email ) {
    if ( $email->id === 'customer_completed_order' ) {
        $shipping_items = $order->get_items('shipping');
        $shipping_item  = reset($shipping_items); // Get first shipping item
        $customer_note  = $order->get_customer_note(); // Get customer note

        // Targeting Local pickup shipping methods
        if ( strpos( $shipping_item->get_method_id(), 'local_pickup' ) !== false ) {
            if ( empty($customer_note) ) {
                echo '<div style="color:red;">'.__("Instructions text here… (NO costumer note)").'</div>'; // Empty order note
            } else {
                echo '<div style="color:green;">'.__("Instructions text here… (has a costumer note)").'</div>'; // Filled order note
            }
        }
    }
}

代碼進入活動子主題(或活動主題)的functions.php文件。 測試和工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM