用于 Woocommerce 电子邮件通知的跟踪号码简码
Posted
技术标签:
【中文标题】用于 Woocommerce 电子邮件通知的跟踪号码简码【英文标题】:Tracking number shortcode to be used on Woocommerce email notifications 【发布时间】:2019-09-25 13:48:30 【问题描述】:我正在使用WooCommerce Admin Custom Order Fields 插件为跟踪号创建自定义字段。 我正在使用以下代码创建一个简码,我将其包括在内以订购已完成的电子邮件通知:
// [tracking_number]
function tracking_number_func( $atts )
global $post;
$order_id2 = $post->ID;
return get_post_meta( $order_id2, '_wc_acof_2', true );
// https://docs.woocommerce.com/document/woocommerce-admin-custom-order-fields/
add_shortcode( 'tracking_number', 'tracking_number_func' );
但更新 WooCommerce 后它现在无法正常工作。我不确定哪个版本更改使它无法使用。
我需要进行哪些更改才能使其正常工作?
【问题讨论】:
您在订单完成电子邮件通知中究竟在哪里使用此短代码? 我将它与“电子邮件定制器”插件一起使用,短代码是“完整电子邮件” 【参考方案1】:电子邮件通知没有 post 对象。根据您使用此简码的位置,尝试:
function wc_get_tracking_number( $atts )
global $order;
return get_post_meta( $order->get_id(), '_wc_acof_2', true );
add_shortcode( 'tracking_number', 'wc_get_tracking_number' );
// USAGE: [tracking_number]
代码在您的活动子主题(或活动主题)的functions.php 文件中。未经测试,它可以工作。
【讨论】:
我尝试了您的代码,但遗憾的是它没有工作。在我更新订单以完成后,它转到 URL“myURL.com/wp-admin/post.php”的空白屏幕,并且电子邮件没有发送出去。我找到了这个答案***.com/questions/21633120/…,但是将$order_id2 = $post->ID;
从我自己的代码替换为$order->get_id();
也不起作用。相同的空白页,没有电子邮件发送出去。顺便说一句,感谢您抽出宝贵的时间
@dunkaroo 此代码无法与您的插件一起使用......它只能通过正常的相关挂钩和相关的 WooCommerce 模板工作。
代码在更新之前确实有效,我想知道 API 是否发生了变化。我会做更多的实验和谷歌搜索。如果我找到答案,我会在这里发帖,因为人们可能有类似的问题。谢谢:)以上是关于用于 Woocommerce 电子邮件通知的跟踪号码简码的主要内容,如果未能解决你的问题,请参考以下文章
从 WooCommerce 中的电子邮件通知中删除 BACS 指令
通过 WooCommerce 管理员电子邮件通知中的“woocommerce_email_order_meta”挂钩显示产品自定义字段