WooCommerce订单中的跟踪编号字段

时间:2019-01-12 作者:csandreas1

我正在创建自定义字段Tracking_ID 在Woocommerce上,管理员将输入跟踪ID作为值。

如何获取创建的自定义字段的值并将其显示在customer-completed-order.php

另外(可选)我想在用户的track-order 他/她我的帐户中的订单页。

Woocommerce>order field:

enter image description here

oceanwp-child/woocommerce/emails/customer-completed-order.php

<?php /* translators: %s: Customer first name */ ?>
<p><?php printf( esc_html__( \'Hi %s,\', \'woocommerce\' ), esc_html( $order->get_billing_first_name() ) ); ?></p>
<?php /* translators: %s: Site title */ ?>
<p><?php printf( esc_html__( \'Your %s order is completed. Your tracking number is: {$fld}\', \'woocommerce\' ), esc_html( wp_specialchars_decode( get_option( \'blogname\' ), ENT_QUOTES ) ) ); ?></p>

2 个回复
最合适的回答,由SO网友:csandreas1 整理而成

根据梅丽莎的回答,以下是我所做的,它对我起到了作用。

    <?php
    #Tracking ID

    $tracking_id = get_post_meta($order->get_order_number(), \'Tracking_ID\', true);

    if( ! empty($tracking_id) )
    { ?>
<p> <?php
printf( esc_html__( \'Your tracking number is: %s\', \'woocommerce\' ), esc_html($tracking_id)  );?> 
</p> <?php 
    }
    ?>

SO网友:Melissa Freeman

获取自定义字段的语法为:

get_post_meta($post_id, $key, $single);
在您的环境中,您应该尝试:

$tracking_id = get_post_meta($order->get_order_number(), \'Tracking_ID\', true);
要在示例中向您展示:

<?php /* translators: %s: Site title */ 
$tracking_id = get_post_meta($order->get_order_number(), \'Tracking_ID\', true); ?>
<p><?php printf( esc_html__( \'Your %s order is completed. Your tracking number is: %s\', \'woocommerce\' ), esc_html( wp_specialchars_decode( get_option( \'blogname\' ), esc_html($tracking_id) ) ) ); ?></p>