Woocommerce 我正在寻找账单地址和已收到订单的电子邮件挂钩

Woocommerce I am looking for billing address and order-received email hooks

我必须在我的 woocommerce 网站上进行两个自定义。

我需要知道两个主要的钩子。有人在那里请帮助我!

  1. 在收到订单的页面上将自定义字段值显示为账单地址。(我在结帐页面上添加了自定义字段。)

  2. 也需要将这些值包含到客户的订单接收电子邮件中。

感谢您的光临。

To show custom field in order-received page you have to use woocommerce_thankyou hook.

代码如下:

// define the woocommerce_thankyou callback 
function action_woocommerce_thankyou($order_id)
{
    $my_custom_field = get_post_meta($order_id, '_billing_my_field', TRUE);
}

// add the action 
add_action('woocommerce_thankyou', 'action_woocommerce_thankyou', 10, 1);


已更新 本节在 post 作者评论后

To add custom billing fields in WooCommerce email you have to use woocommerce_email_customer_details hook; this will be displayed just before the customer details.

代码如下:

add_filter('woocommerce_email_customer_details', 'custom_woocommerce_email_order_meta_fields', 10, 3);

function custom_woocommerce_email_order_meta_fields($order, $sent_to_admin, $plain_text)
{
    $_billing_my_field = get_post_meta($order->id, '_billing_my_field', true);
    if ($plain_text)
    {
        echo 'My field is ' . $_billing_my_field;
    }
    else
    {
        echo '<p>My field is  ' . $_billing_my_field . '</p>';
    }
}

所有代码都在您的活动子主题(或主题)的 function.php 文件或任何插件文件中。


请注意:

  • 我假设您已使用 woocommerce_checkout_fields 挂钩将自定义帐单字段添加为 $fields['billing']['billing_my_field']
  • 所有代码都经过测试并且功能齐全。