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

Woocommerce-在电子邮件中打印产品的自定义字段

关昊天
2023-03-14

在Woocommerce中,我需要在完成的订单电子邮件上打印一个自定义域。

该模板在我的主题Woocommerce/Emails文件夹中是完全唯一的,因为默认模板不能满足我的需要。

因此,我试图显示以下内容:标题、数量和两个自定义字段

这需要包含在customer-completed-order.php电子邮件模板中,但我不确定打印它需要什么语法。

我在谷歌上找到了一些东西,但它不起作用:

<?php foreach ( $items as $item_id => $item ) :
$_product     = apply_filters( 'woocommerce_order_item_product', $order->get_product_from_item( $item ), $item );
?>

<p>Class: <?php echo get_post_meta($_product->id,'name',true); ?></p>

<p>Date: <?php echo get_post_meta($_product->id,'date_text_field',true); ?></p>

<p>Time: <?php echo get_post_meta($_product->id,'time_text_field',true); ?></p>

<p>Number of Spaces: <?php echo get_post_meta($_product->id,'qty',true); ?></p>


<?php endforeach; ?>

共有1个答案

富锦
2023-03-14

尝试将
do_action('woocommerce_order_item_meta_start',$item_id,$item,$order);

do_action('woocommerce_order_item_meta_end',$item_id,$item,$order);添加到操作挂钩

这可通过以下方式使用:

add_action( 'woocommerce_order_item_name', 'action_custom_order_meta', 10, 3 );

add_action( 'woocommerce_order_item_name', 'action_custon_order_meta', 10, 3 );

下面是回调处理程序函数。

function action_custom_order_meta($item_name, $item, $false){
    $product_id = $item['product_id'];
    $product_custom_date = get_post_meta($product_id, 'product_custom_date', true);
    $product_custom_time = get_post_meta($product_id, 'product_custom_time', true);
    $product_custom_meta = 'Date: ' . $product_custom_date . ' <br> Time: ' . $product_custom_time;
    echo $product_custom_meta;
}

将自定义域名称更改为适当的。您可能还需要根据自定义电子邮件所需的标记来包装输出。

希望这有帮助。

 类似资料:
  • 因此,当我在mytheme/functions.php文件中编写这段代码时,这里有一个交易 它只在后端工作(产品编辑页面),它保存了变量,但没有显示在meta或add to card按钮之前或之后,我找不到解决方案 我尝试了echo,但仍然没有结果 所以我以为我是我的主题?不,我在其他vps上安装了wordpress,但我仍然没有显示文本字段text nothing 如果你知道这个问题,请友好地告

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

  • 我正在尝试修改自动生成的WooCommerce订单电子邮件中的产品图像。请注意,我尝试使用钩子来实现这一点,而不是创建一个修改过的电子邮件模板。 首先,我在单一产品页面上有一个隐藏的输入。我有一些JS设置图像的ID,它基于产品的颜色(我用ACF制作的自定义属性)。 为了便于参考,我在购物车页面上做了以下工作: 这很好,但我很难按顺序复制电子邮件。到目前为止,我遇到了以下几点。这会在电子邮件中显示图

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

  • 所以我已经为一个在线商店做了一个自定义管理订单模板(重新设计和重新安排了很多)。我已经知道“show image=>false/true”这不是我要找的答案,因为我完全改变了我的电子邮件模板中的一切。现在我的问题是不知道如何展示产品形象。 欢迎任何帮助,因为我是编码的新手。 编辑:这是我现在存在的错误: 下面是我的代码: