gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 19:03:16 26 4
gpt4 key购买 nike

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。因为您已使用此键保存了自定义字段。这绝对可以解决您的问题。

    关于wordpress - woocommerce 将自定义结帐字段添加到电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31490405/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com