我想我在这里遗漏了一些明显的东西:
我试图在customer-completed-order.php
中包含购买的票据,以便客户收到票据和购买确认书,但我失败了。
以下是我的尝试:
<?php echo '<div class=\"product-purchase-note\">'. $purchase_note . 'PURCHASE NOTE</div>'; ?>
和这个
<?php
$purchase_note = get_post_meta( $_product->id, '_purchase_note');
echo '<div class="product-purchase-note">' . $purchase_note . '</div>';
?>
和此:
<?php
$purchase_note = get_post_meta( $_product->id, '_purchase_note', true)) :
echo '<td class="product-purchase-note">' . apply_filters('the_content', $purchase_note) . '</td>';
?>
和此:
<?php
if ($order->status=='completed' || $order->status=='processing') {
if ($purchase_note = get_post_meta( $_product->id, '_purchase_note', true))
echo '<div class="product-purchase-note"><div>' . apply_filters('the_content', $purchase_note) . '</div></div>';
} ?>
似乎没什么用。
它显示在订单收到的页面上,但不会显示在订单确认的电子邮件中。 任何帮助都非常感谢我也愿意在购买时向客户提供一些其他方法,例如自定义元值?
答案 0 :(得分:1)
有点晚了,但请使用$order->customer_note
代替$purchase_note = get_post_meta( $_product->id, '_purchase_note');
答案 1 :(得分:1)
我怀疑这是因为$_product
模板中尚未设置completed-customer-order.php
。
在这种情况下,您需要自己从订单中提取产品:
<?php
$items = $order -> get_items();
foreach ( $items as $item ) {
$product = $order -> get_product_from_item( $item );
// copied from woocommerce/templates/emails/email-order-items.php
$purchase_note = get_post_meta( $product -> id, '_purchase_note', true );
echo wpautop( do_shortcode( wp_kses_post( $purchase_note ) ) );
}