首页 文章

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

提问于
浏览
2

我必须在我的woocommerce网站上进行两次定制 .

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

  • 将自定义字段值显示在订单接收页面上的帐单邮寄地址 . (我在结帐页面上添加了自定义字段 . )

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

谢谢你的光临 .

1 回答

  • 1

    要在订单接收页面中显示自定义字段,您必须使用woocommerce_thankyou挂钩 .

    这是代码:

    // 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);
    

    UPDARED 本节发表作者评论后

    要在WooCommerce电子邮件中添加自定义结算字段,您必须使用woocommerce_email_customer_details hook;这将显示在客户详细信息之前 .

    这是代码:

    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 hook将自定义结算字段添加为 $fields['billing']['billing_my_field'] .

    • 所有代码都经过测试并且功能齐全 .

相关问题