如何将自定义结帐字段打印到电子邮件订单详细信息中

斯帕哇

我想将我的自定义结帐字段打印到所有电子邮件通知中,如下面的屏幕截图所示。

订单详情


到目前为止有效

  • 将字段添加到结帐
  • 处理结帐
  • 使用字段值更新订单元
  • 在订单编辑页面上显示字段值

我的问题

  • 如何将自定义结帐字段添加到电子邮件订单详细信息中(如屏幕截图所示)

这是我到目前为止使用的代码,如何进一步调整它?

/* Add the field to the checkout */
add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' );

function my_custom_checkout_field( $checkout ) {

    echo '<div id="my_custom_checkout_field"><h3>' . __('Imię i nazwisko osoby obdarowanej') . '</h3>';

    woocommerce_form_field( 'my_field_name', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'label'         => __('Podaj imię i nazwisko osoby obdarowanej'),
        'placeholder'   => __(''),
        'required'  => true,
        ), $checkout->get_value( 'my_field_name' ));

    echo '</div>';

}

/* Process the checkout */
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');

function my_custom_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST['my_field_name'] )
        wc_add_notice( __( '<strong>Imię i nazwisko osoby obdarowanej</strong> jest wymaganym polem' ), 'error' );
}

/* Update the order meta with field value */
add_action( 'woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' );

function my_custom_checkout_field_update_order_meta( $order_id ) {
    if ( ! empty( $_POST['my_field_name'] ) ) {
        update_post_meta( $order_id, 'My Field', sanitize_text_field( $_POST['my_field_name'] ) );
    }
}

/* Display field value on the order edit page */
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );

function my_custom_checkout_field_display_admin_order_meta($order){
    echo '<p><strong>'.__('Imie i nazwisko obdarowanej').':</strong> ' . get_post_meta( $order->id, 'My Field', true ) . '</p>';
}
7uc1f3r

第1步)将代码更改为此

/* Add the field to the checkout */
add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' );
function my_custom_checkout_field( $checkout ) {

    echo '<div id="my_custom_checkout_field"><h3>' . __('Imię i nazwisko osoby obdarowanej') . '</h3>';

    woocommerce_form_field( 'my_field_name', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'label'         => __('Podaj imię i nazwisko osoby obdarowanej'),
        'placeholder'   => __(''),
        'required'  => true,
        ), $checkout->get_value( 'my_field_name' ));

    echo '</div>';
}

/* Process the checkout */
add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
function my_custom_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST['my_field_name'] )
        wc_add_notice( __( '<strong>Imię i nazwisko osoby obdarowanej</strong> jest wymaganym polem' ), 'error' );
}

/* Update the order meta with field value */
add_action( 'woocommerce_checkout_create_order', 'my_custom_checkout_field_create_order', 10, 2 );
function my_custom_checkout_field_create_order( $order, $data ) {   
    if ( ! empty( $_POST['my_field_name'] ) ) {
        $order->update_meta_data( '_my_field', sanitize_text_field( $_POST['my_field_name'] ) ); // Order meta data
    }
}

/* Display field value on the order edit page */
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
function my_custom_checkout_field_display_admin_order_meta($order) {
    // Get meta
    $my_field = $order->get_meta( '_my_field' );

    echo '<p><strong>'.__('Imie i nazwisko obdarowanej').':</strong> ' . $my_field . '</p>';
}

步骤2)覆盖以下模板文件

https://github.com/woocommerce/woocommerce/blob/3.8.0/templates/emails/email-order-details.php

可以通过将其复制到yourtheme / woocommerce / emails / email-order-details.php来覆盖此模板

在行号84添加以下代码

$my_field = $order->get_meta( '_my_field' );
if ( isset( $my_field ) ) {
    ?>
    <tr>
        <th class="td" scope="row" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>;"><?php echo 'Imie i nazwisko obdarowanej:'; ?></th>
        <td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>;"><?php echo $my_field; ?></td>
    </tr>               
    <?php
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将我的自定义字段添加到 Woocommerce 订单流程(查看表单、订单详细信息和电子邮件流程)

来自分类Dev

在WooCommerce订单详细信息中保存自定义结帐交货时间字段值

来自分类Dev

从WooCommerce处理订单电子邮件通知中删除订单详细信息

来自分类Dev

如何将用户输入的详细信息发送到iOS中的电子邮件?

来自分类Dev

如何绕过Paypal结帐并使用servlet通过javamail中的电子邮件发送simplecart详细信息?

来自分类Dev

如何在Wordpress中的自定义插件中获取订单详细信息

来自分类Dev

自定义订单详细信息页面上的Woocommerce自定义字段

来自分类Dev

如何在woocommerce中的新订单电子邮件中显示高级自定义字段数据

来自分类Dev

如何将自定义指标添加到jelly中以进行电子邮件扩展?

来自分类Dev

如何将自定义 HTML 表单与 wordpress 电子邮件地址连接

来自分类Dev

订单自定义字段未显示在WooCommerce电子邮件通知中

来自分类Dev

在woocommerce订单电子邮件中显示多个产品的自定义字段

来自分类Dev

在订单电子邮件通知中输出产品自定义字段值

来自分类Dev

VirtueMart 2.6.6自定义字段(购物车变量)未显示在订单详细信息中

来自分类Dev

如何在订单状态电子邮件中添加自定义消息?

来自分类Dev

在WooCommerce中将自定义结帐字段值添加到客户订单注释中

来自分类Dev

使Woocommerce(3.8.0)管理员电子邮件中包含我在结帐页面上的自定义字段数据

来自分类Dev

电子邮件,管理员订单和“谢谢”页面上的WooCommerce 4.0自定义结帐和ACF字段值

来自分类Dev

Woocommerce自定义电子邮件结帐

来自分类Dev

Woocommerce自定义电子邮件结帐

来自分类Dev

自定义WooCommerce datepicker检出字段已保存并显示在订单和电子邮件中

来自分类Dev

在Woocommerce订单和电子邮件中的订单总数之后添加自定义文本

来自分类Dev

将自定义字段值发送到电子邮件

来自分类Dev

Crashlytics:如何查看崩溃详细信息中的用户名/电子邮件/ ID?

来自分类Dev

如何获取联系人详细信息中的电子邮件地址

来自分类Dev

如何在 Laravel auth 中自定义“电子邮件”字段?

来自分类Dev

将自定义文本添加到本地取货 Woocommerce 订单的特定电子邮件通知

来自分类Dev

如何在swift3中打印Facebook SDK 4.18.0中的公共详细信息,例如名字,姓氏或电子邮件?

来自分类Dev

在odoo中创建发票时如何将自定义字段的值从销售订单复制到发票

Related 相关文章

  1. 1

    如何将我的自定义字段添加到 Woocommerce 订单流程(查看表单、订单详细信息和电子邮件流程)

  2. 2

    在WooCommerce订单详细信息中保存自定义结帐交货时间字段值

  3. 3

    从WooCommerce处理订单电子邮件通知中删除订单详细信息

  4. 4

    如何将用户输入的详细信息发送到iOS中的电子邮件?

  5. 5

    如何绕过Paypal结帐并使用servlet通过javamail中的电子邮件发送simplecart详细信息?

  6. 6

    如何在Wordpress中的自定义插件中获取订单详细信息

  7. 7

    自定义订单详细信息页面上的Woocommerce自定义字段

  8. 8

    如何在woocommerce中的新订单电子邮件中显示高级自定义字段数据

  9. 9

    如何将自定义指标添加到jelly中以进行电子邮件扩展?

  10. 10

    如何将自定义 HTML 表单与 wordpress 电子邮件地址连接

  11. 11

    订单自定义字段未显示在WooCommerce电子邮件通知中

  12. 12

    在woocommerce订单电子邮件中显示多个产品的自定义字段

  13. 13

    在订单电子邮件通知中输出产品自定义字段值

  14. 14

    VirtueMart 2.6.6自定义字段(购物车变量)未显示在订单详细信息中

  15. 15

    如何在订单状态电子邮件中添加自定义消息?

  16. 16

    在WooCommerce中将自定义结帐字段值添加到客户订单注释中

  17. 17

    使Woocommerce(3.8.0)管理员电子邮件中包含我在结帐页面上的自定义字段数据

  18. 18

    电子邮件,管理员订单和“谢谢”页面上的WooCommerce 4.0自定义结帐和ACF字段值

  19. 19

    Woocommerce自定义电子邮件结帐

  20. 20

    Woocommerce自定义电子邮件结帐

  21. 21

    自定义WooCommerce datepicker检出字段已保存并显示在订单和电子邮件中

  22. 22

    在Woocommerce订单和电子邮件中的订单总数之后添加自定义文本

  23. 23

    将自定义字段值发送到电子邮件

  24. 24

    Crashlytics:如何查看崩溃详细信息中的用户名/电子邮件/ ID?

  25. 25

    如何获取联系人详细信息中的电子邮件地址

  26. 26

    如何在 Laravel auth 中自定义“电子邮件”字段?

  27. 27

    将自定义文本添加到本地取货 Woocommerce 订单的特定电子邮件通知

  28. 28

    如何在swift3中打印Facebook SDK 4.18.0中的公共详细信息,例如名字,姓氏或电子邮件?

  29. 29

    在odoo中创建发票时如何将自定义字段的值从销售订单复制到发票

热门标签

归档