woocommerce将自定义结帐字段添加到电子邮件

Wei

WordPress的-Woocommerce

我想做什么:

  • 在“结帐”页面中添加一些自定义字段。
  • 另外,在收到新订单时,请将这些字段的值发送到我的电子邮件中。

这是我所做的,但是失败了:

我在这里遵循该教程:http : //docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/

一切正常,我成功创建了字段,它们显示在订单设置页面中:

add_action( 'woocommerce_after_order_notes', 'my_checkout_fields' );

function my_checkout_fields( $checkout ) {

echo '<div id="my_checkout_fields"><h2>' . __('My Heading') . '</h2>';

woocommerce_form_field( 'my_field', array(
    'type'      => 'select',
    'options'   => array(
        'option_1' => 'My Option 1',
        'option_2' => 'My Option 2'
    ),
    'clear'     => false,
    'class'         => array('form-row-wide'),
    'label'         => __('Whatever')
    ), $checkout->get_value( 'my_field' ));

echo '</div>';

}

/**
 * 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'] ) ) {
    update_post_meta( $order_id, 'My Field', sanitize_text_field( $_POST['my_field'] ) );
}
}
}

然后,我尝试将它们添加到电子邮件订单元中,如本教程的“第4课”部分所示:

add_filter('woocommerce_email_order_meta_keys', 'my_custom_checkout_field_order_meta_keys');
function my_custom_checkout_field_order_meta_keys( $keys ) {
    $keys[] = 'my_field';
    return $keys;
}

但是,自定义字段不会出现在发送的电子邮件中。

我还尝试通过在电子邮件模板文件中执行此操作来对其进行测试:

<p><?php echo $order->my_field; ?></p>

电子邮件中没有任何内容。

请解决。提前致谢。

佐帕明

您应该使用“我的字段”而不是my_field。由于已使用此键保存了自定义字段。这肯定会解决您的问题。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将自定义字段作为抄送添加到WooCommerce客户订单电子邮件

在WooCommerce中将自定义占位符添加到电子邮件主题

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

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

将自定义产品属性添加到Magento交易电子邮件中

将产品自定义字段添加到WooCommerce已完成的订单电子邮件中

在Woocommerce中将自定义元数据作为带有标题的html样式表添加到电子邮件中

Woocommerce自定义电子邮件结帐

UIDocumentInteractionController将自定义操作添加到菜单(例如,电子邮件,保存到照片)

如何通过API C#和模板将自定义变量添加到SendGrid电子邮件

在Woocommerce中启用自定义结帐电子邮件字段验证

在电子邮件通知上显示WooCommerce自定义结帐字段值

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

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

将用户自定义帐户字段添加到WooCommerce结帐

Woocommerce 将自定义属性(分类法)作为数组添加到邮件模板

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

在Woocommerce中将自定义多选字段添加到管理产品选项设置

如何将自定义字段添加到woocommerce产品属性

如何在Woocommerce中将自定义字段添加到类别中?

将自定义字段添加到woocommerce产品中的特定类别

WooCommerce已将自定义字段添加到其免费插件中吗?

将自定义字段数据添加到WooCommerce订单

将自定义字段添加到“其他信息”选项卡(WooCommerce)

将自定义字段添加到WooCommerce新帐户页面

PrestaShop 1.6 将订单产品添加到自定义电子邮件模板

在注册时将自定义字段添加到结帐和my_account用户详细信息

在WooCommerce“订单已完成”电子邮件中添加自定义产品字段

将自定义字段属性添加到CsvHelper