调用和显示 WooCommerce 自定义结帐字段值
Calling and displaying a WooCommerce custom checkout field value
我正在尝试在电子邮件中显示自定义字段。
这是我认为应该有效的脚本:
<?php if ($day) : ?>
<p><strong><?php _e('day:', 'woocommerce-pip'); ?></strong> <?php echo $order->day; ?></p>
<?php endif; ?>
但是没用。该字段的名称是 'day'
。
这应该有效吗?我错过了什么?
谢谢。
像这样显示自定义字段
<?php echo get_post_meta( get_the_ID(), ‘tes_custom_field’, true ); ?>
有关更多信息,请查看这个非常好的教程 http://www.themelocation.com/how-to-display-custom-field-value-on-product-page-in-woocommerce/
我假设您已经在结帐页面上使用一些显示自定义字段的代码正确设置了此自定义字段,并将此自定义字段的值保存在数据库中的订单中 (如果没有,您什么也得不到).
您需要先检索 order ID
,然后再尝试获取此自定义字段的值,可能有 2 种情况:
- 您已经有了
$order
变量或对象。您只需通过以下方式检索它:
$order_id = $order->id;
// or
$order_id = str_replace( '#', '', $order->get_order_number() );
- 您没有
$order
对象,您需要先获取它:
global $woocommerce, $post;
$order = new WC_Order( $post->id );
// and after you can get the order ID
$order_id = $order->id;
// or
$order_id = str_replace( '#', '', $order->get_order_number() );
现在您可以获取值并显示它,因为您有 $order_id
:
<?php $day = get_post_meta( $order_id, 'day', true );
if ( !empty( $day ) ) : ?>
<p><strong><?php _e('day:', 'woocommerce-pip'); ?></strong> <?php echo $day; ?></p>
<?php endif; ?>
但是您应该在 order_id
中检查您的数据库,如 post_id
在 wp_postmeta
table 中,那个 meta_value => 'day'
在相应的 meta_value
row/column 中存在一些值。如果不是,那么当您创建此自定义字段并将值保存在结帐页面时,您的代码肯定有问题。
我正在尝试在电子邮件中显示自定义字段。
这是我认为应该有效的脚本:
<?php if ($day) : ?>
<p><strong><?php _e('day:', 'woocommerce-pip'); ?></strong> <?php echo $order->day; ?></p>
<?php endif; ?>
但是没用。该字段的名称是 'day'
。
这应该有效吗?我错过了什么?
谢谢。
像这样显示自定义字段
<?php echo get_post_meta( get_the_ID(), ‘tes_custom_field’, true ); ?>
有关更多信息,请查看这个非常好的教程 http://www.themelocation.com/how-to-display-custom-field-value-on-product-page-in-woocommerce/
我假设您已经在结帐页面上使用一些显示自定义字段的代码正确设置了此自定义字段,并将此自定义字段的值保存在数据库中的订单中 (如果没有,您什么也得不到).
您需要先检索 order ID
,然后再尝试获取此自定义字段的值,可能有 2 种情况:
- 您已经有了
$order
变量或对象。您只需通过以下方式检索它:
$order_id = $order->id;
// or
$order_id = str_replace( '#', '', $order->get_order_number() );
- 您没有
$order
对象,您需要先获取它:
global $woocommerce, $post;
$order = new WC_Order( $post->id );
// and after you can get the order ID
$order_id = $order->id;
// or
$order_id = str_replace( '#', '', $order->get_order_number() );
现在您可以获取值并显示它,因为您有 $order_id
:
<?php $day = get_post_meta( $order_id, 'day', true );
if ( !empty( $day ) ) : ?>
<p><strong><?php _e('day:', 'woocommerce-pip'); ?></strong> <?php echo $day; ?></p>
<?php endif; ?>
但是您应该在 order_id
中检查您的数据库,如 post_id
在 wp_postmeta
table 中,那个 meta_value => 'day'
在相应的 meta_value
row/column 中存在一些值。如果不是,那么当您创建此自定义字段并将值保存在结帐页面时,您的代码肯定有问题。