电子邮件通知上的自定义结帐帐单字段

在 WooCommerce 中,基于“ WooCommerce 中的动态同步自定义结帐选择字段”答案代码,我在结帐时添加了一些自定义字段,这些字段将显示在电子邮件确认的账单部分下


这是我的实际代码:


add_action( 'woocommerce_after_checkout_billing_form', 'add_checkout_custom_fields', 20, 1 );

function add_checkout_custom_fields( $checkout) {

    $domain = 'woocommerce'; // The domain slug


    // First Select field (Master)

    woocommerce_form_field( 'delivery_one', array(

        'type'          => 'select',

        'label'         => __( 'Art der Lieferung' , $domain),

        'class'         => array( 'form-row-first' ),

        'required'       => true,

        'options'       => array(

            ''  => __( 'Wählen Art der Lieferung.', $domain ),

            'A' => __( 'Hauszustellung', $domain ),

            'B' => __( 'Selbst Abholung', $domain ),


        ),

    ), $checkout->get_value( 'delivery_one' ) );


    // Default option value

    $default_option2 = __( 'Wählen Sie Zeitbereich.', $domain );


    // Dynamic select field options for Javascript/jQuery

    $options_0 = array( '' => $default_option2 );

    $options_a = array(

        ''  => $default_option2,

        '1' => __( '09:00-11:00', $domain ),

        '2' => __( '10:00-12:00', $domain ),

        '3' => __( '11:00-13:00', $domain ),

        '4' => __( '12:00-14:00', $domain ),

        '5' => __( '13:00-15:00', $domain ),

        '6' => __( '14:00-16:00', $domain ),

        '7' => __( '15:00-17:00', $domain ),

    );


我的自定义字段及其值显示在结帐表单和后端的订单页面上。到目前为止,一切都很好。


但问题是我收到的电子邮件不包含自定义字段及其值。


如何在电子邮件通知中显示自定义结帐账单字段?


这段代码正确吗?


Qyouu
浏览 147回答 2
2回答

牧羊人nacy

您应该首先将输入值保存在数据库中作为订单元,请参见此处,然后您可以在电子邮件模板中获取元值。woocommerce 的所有电子邮件模板都是可定制的,位于plugins/woocommerce/emails/您可以使用此钩子在订单元存储自定义输入字段do_action( 'woocommerce_checkout_order_processed', $order_id, $posted_data, $order );谢谢
打开App,查看更多内容
随时随地看视频慕课网APP