当前位置: 首页 > 知识库问答 >
问题:

WooCommerce电子邮件模板中的高级自定义字段

羊舌炯
2023-03-14
<?php
    if(get_field('tracking-no'))
    {
        echo '<p>' . get_field('tracking-no') . '</p>';
    }
?>

共有1个答案

洪昱
2023-03-14

在您的WooCommerce模板中,首先应该在get_field()中获得订单ID作为参数:

<?php
    // Get the $order ID (WooCommerce version compatibility)
    if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
        $order_id = int_val( $order->id ); // Older than 3.0
    } else {
        $order_id = int_val( $order->get_id() ); // 3.0+
    }

    $tracking_num = get_field('tracking-no', $order_id );

    if( $tracking_num ){
        echo '<p>' . $tracking_num . '</p>';
    }
?>

您也可以使用在此模板上找到的任何电子邮件通知挂钩,方法如下:

add_action( 'woocommerce_email_order_details', 'my_custom_field_in_completed_notification', 10, 4 );
function my_custom_field_in_completed_notification( $order, $sent_to_admin, $plain_text, $email ){
    // Get the $order ID (WooCommerce version compatibility)
    if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
        $order_id = int_val( $order->id ); // Older than 3.0
    } else {
        $order_id = int_val( $order->get_id() ); // 3.0+
    }

    $tracking_num = get_field('tracking-no', $order_id );
    if( $tracking_num ){
        echo '<p>' . $tracking_num . '</p>';
    }
}

代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中。

woocommerce_email_order_meta
woocommerce_email_customer_details
 类似资料:
  • 我有一个插件管理我的货件与两个自定义状态:等待-装运和装运。 我尝试添加一个电子邮件发送时,订单传递到发货。 我在Stack Overflow:Woocommerce退款电子邮件中发现了这一点,但我可以知道它是如何工作的 下面是我的插件文件代码: 我用下面的helgatheviking和Adrien Leber的建议更新了我的代码 和我的班级: 当我改变我的订单状态时,什么也没有发生!我的触发函数

  • 我正在研究AWS Cognito,下面是关于消息定制的两个问题。 1) 我正在使用“链接”验证类型为“电子邮件验证消息”编写AWS Cognito。我遇到了一个问题,“电子邮件消息”使其动态。 2)如何根据用户组或有条件地发送不同的“电子邮件消息”内容? 请建议。 谢啦

  • 在Woocommerce中,我需要在完成的订单电子邮件上打印一个自定义域。 该模板在我的主题Woocommerce/Emails文件夹中是完全唯一的,因为默认模板不能满足我的需要。 因此,我试图显示以下内容:标题、数量和两个自定义字段 这需要包含在customer-completed-order.php电子邮件模板中,但我不确定打印它需要什么语法。 我在谷歌上找到了一些东西,但它不起作用:

  • WordPress-WooCommerce 我想做的是: null 邮件里什么也没印。 请解决。提前谢了。

  • 我希望管理电子邮件的电子邮件主题行根据产品类别进行更改。我看过所有类似的堆栈溢出问题,但没有一个适用于Woocommerce3.8.0(参见这个和这个)。 我有的是这个 我的代码只是返回新订单的默认电子邮件主题行(在woocommerce/settings/email中设置)。我想不通为什么我的函数不能识别类别名称。 谁能告诉我我的代码出了什么问题吗? 我将这段代码放在我的child-theme/