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

向Woocommerce订单电子邮件模板添加自定义域值

高祺
2023-03-14
<?php
    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+
    }

    $inst1 = get_field(‘how1’, $order_id );

    if( $inst1 ){
        echo '<p>' . $inst1 . '</p>';
    }
?> with Advanced Custom Fields plugin

共有1个答案

韦高谊
2023-03-14

由于自定义域特定于“product”post类型(而不是“order”post类型),因此需要首先获取order项以获得产品ID,您应该通过以下方式与ACFget_field()函数一起使用:

<?php

    foreach ( $order->get_items() as $item ) {
        // Get the product ID
        if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
            $product_id = $item['product_id']; // Older than 3.0
        } else {
            $product_id = $item->get_product_id(); // 3.0+
        }

        $inst1 = get_field( 'how1', $product_id );

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

<?

定义域值将为订单中的每一项显示,因为一个订单中可以有许多项。

参考资料:

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

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

  • null 我希望能够从数组中获取某些元值,例如、、、、等。 这个PHP代码段将添加一个字段的订单电子邮件,但我如何编辑这一点,我可以让它显示一些元从数组? 对于特定的WooCommerce订单,我使用 这表明:

  • 有什么方法我可以添加内容从一个自定义产品字段到‘订单完成'WooCommerce电子邮件? 我已经将此代码添加到functions.php中,以便将自定义字段保存到产品元信息中。 上面的代码工作得很好,它显示了所有“订单完成”电子邮件的自定义文本。 但是,我想用自定义产品字段数据替换文本的URL部分。每个产品的数据都不同。 谢了。

  • 如果客户下了一个订单,我想添加相应的电子邮件通知每个订单项目到新的订单电子邮件通知。 如何将产品自定义域中的收件人添加到Woocommerce新订单电子邮件通知中?