Rumah  >  Soal Jawab  >  teks badan

Pemberitahuan e-mel penyelesaian pesanan WooCommerce: hadkan kaedah penghantaran tertentu

Saya cuba melumpuhkan e-mel pesanan yang lengkap hanya jika pelanggan memilih kaedah penghantaran "Retirada no local".

Saya menjumpai kod berikut yang melumpuhkan e-mel untuk semua kaedah penghantaran kecuali satu - ia bukan yang saya perlukan, tetapi ia mungkin membantu:

function filter_woocommerce_email_recipient_new_order( $recipient, $order = false ) {   
    if ( ! $order || ! is_a( $order, 'WC_Order' ) ) return $recipient;
    
    // 获取配送方式
    $shipping_method = $order->get_shipping_method();

    // 不等于(注意:这应该根据您网站语言中的配送方式进行调整)
    // 例如:荷兰语中的“Afhalen”等...
    if ( $shipping_method != 'Local Pickup' ) {
        $recipient = '';
    }

    return $recipient;
}
add_filter( 'woocommerce_email_recipient_new_order', 'filter_woocommerce_email_recipient_new_order', 10, 2 );```

P粉327903045P粉327903045376 hari yang lalu503

membalas semua(1)saya akan balas

  • P粉541565322

    P粉5415653222023-09-10 10:16:25

    Tukar versi kod yang anda berikan kepada versi yang melumpuhkan e-mel pelanggan "Pesanan Selesai" apabila kaedah penghantaran adalah "Retirada no local"

    function disable_completed_order_customer_email_for_retirada( $recipient, $order = false ) {   
        if ( ! $order || ! is_a( $order, 'WC_Order' ) ) return $recipient;
        
        // 获取配送方式
        $shipping_method = $order->get_shipping_method();
    
        // 仅在配送方式为“Retirada no local”时禁用
        if ( $shipping_method === 'Retirada no local' ) {
            $recipient = '';
        }
    
        return $recipient;
    }
    add_filter( 'woocommerce_email_recipient_customer_completed_order', 'disable_completed_order_customer_email_for_retirada', 10, 2 );

    Sila ambil perhatian bahawa kaedah penghantaran anda mestilah sepadan dengan perkataan dan huruf besar bagi frasa "Retirada no local" agar kod ini sah.

    balas
    0
  • Batalbalas