Php 用于Woocommerce电子邮件通知的跟踪号码短码

Php 用于Woocommerce电子邮件通知的跟踪号码短码,php,wordpress,woocommerce,shortcode,email-notifications,Php,Wordpress,Woocommerce,Shortcode,Email Notifications,我正在使用插件创建一个跟踪号码的自定义字段。 我使用以下代码创建了一个快捷码,其中包括订购完整的电子邮件通知: // [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.wooc

我正在使用插件创建一个跟踪号码的自定义字段。 我使用以下代码创建了一个快捷码,其中包括订购完整的电子邮件通知:

// [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之后,它现在不起作用了。我不确定是哪个版本的更改使它无法使用


我需要改变什么才能让它工作

没有用于电子邮件通知的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“”的空白屏幕,并且电子邮件没有发送出去。我找到了这个答案,但是通过替换
$order\u id2=$post->ID从我自己的代码到
$order->get_id()也不起作用。相同的空白页,没有发送电子邮件。顺便说一句,谢谢你的邀请time@dunkaroo这段代码不能与你的插件一起工作…它只能通过普通的相关挂钩和相关的WooCommerce模板工作。这段代码在更新之前确实有效,我想知道API是否被更改了。我会做更多的实验和谷歌搜索。如果我找到了一个答案,我会在这里发帖,因为人们可能会有类似的问题。谢谢:)