将订单客户备注添加到 YITH Woocommerce PDF 发票
Add order customer note to YITH Woocommerce PDF Invoice
在 Woocommerce 中,我正在使用一个名为 YITH WooCommerce PDF Invoice and Shipping List 的插件,我想将客户注释添加到 PDF 发票中。
我想在下面代码的第一个跨度行之后添加它:
<span class="notes-title"><?php _e( "Notes", "yith-woocommerce-pdf-invoice" ); ?></span>
<div class="notes">
<span><?php echo nl2br( $notes ); ?></span>
<?php do_action( 'yith_ywpi_after_document_notes', $document );?>
</div>
</div>
<?php
但我不知道如何从 $document
变量中获取客户备注。
我已经尝试使用这个答案线程:“Display Customer order comments (customer note) in Woocommerce”,它看起来很像同一个问题,但仍然无法弄清楚,因为 $document->order->customer_message;
不起作用。
感谢任何帮助。
从 Woocommerce 3 开始,您无法再从 WC_Order
对象访问属性。您需要使用 WC_Order
方法 [get_customer_note()
][1].
所以从 $document
(YITH 全局对象)你将使用:
$document->order->get_customer_note();
要将客户备注添加到 YITH 发票,您可以选择两种方式:
1) 使用可用的 yith_ywpi_after_document_notes
action hook:
add_action( 'yith_ywpi_invoice_template_products_list', 'add_customer_notes_after_document_notes', 5 );
function add_customer_notes_after_document_notes( $document ) {
?><span><?php echo $document->order->get_customer_note(); ?></span><?php
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。未经测试(因为我没有插件的高级版本)但它应该可以正常工作(取决于插件设置).
2) 覆盖模板(在您提供的代码中):
<span class="notes-title"><?php _e( "Notes", "yith-woocommerce-pdf-invoice" ); ?></span>
<div class="notes">
<span><?php echo nl2br( $notes ); ?></span>
<span><?php echo $document->order->get_customer_note(); ?></span>
<?php do_action( 'yith_ywpi_after_document_notes', $document );?>
</div>
</div>
<?php
应该可以。
For the free plugin version
- 没有可用的挂钩(如在提供的代码中)…
- 需要调用 YITH PDF 全局对象而不是
$document
。
因此您将能够在 templates/invoice/invoice-footer.php
模板中使用以下代码:
<?php global $ywpi_document; echo $ywpi_document->order->get_customer_note(); ?>
在 Woocommerce 中,我正在使用一个名为 YITH WooCommerce PDF Invoice and Shipping List 的插件,我想将客户注释添加到 PDF 发票中。
我想在下面代码的第一个跨度行之后添加它:
<span class="notes-title"><?php _e( "Notes", "yith-woocommerce-pdf-invoice" ); ?></span>
<div class="notes">
<span><?php echo nl2br( $notes ); ?></span>
<?php do_action( 'yith_ywpi_after_document_notes', $document );?>
</div>
</div>
<?php
但我不知道如何从 $document
变量中获取客户备注。
我已经尝试使用这个答案线程:“Display Customer order comments (customer note) in Woocommerce”,它看起来很像同一个问题,但仍然无法弄清楚,因为 $document->order->customer_message;
不起作用。
感谢任何帮助。
从 Woocommerce 3 开始,您无法再从 WC_Order
对象访问属性。您需要使用 WC_Order
方法 [get_customer_note()
][1].
所以从 $document
(YITH 全局对象)你将使用:
$document->order->get_customer_note();
要将客户备注添加到 YITH 发票,您可以选择两种方式:
1) 使用可用的 yith_ywpi_after_document_notes
action hook:
add_action( 'yith_ywpi_invoice_template_products_list', 'add_customer_notes_after_document_notes', 5 );
function add_customer_notes_after_document_notes( $document ) {
?><span><?php echo $document->order->get_customer_note(); ?></span><?php
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。未经测试(因为我没有插件的高级版本)但它应该可以正常工作(取决于插件设置).
2) 覆盖模板(在您提供的代码中):
<span class="notes-title"><?php _e( "Notes", "yith-woocommerce-pdf-invoice" ); ?></span>
<div class="notes">
<span><?php echo nl2br( $notes ); ?></span>
<span><?php echo $document->order->get_customer_note(); ?></span>
<?php do_action( 'yith_ywpi_after_document_notes', $document );?>
</div>
</div>
<?php
应该可以。
For the free plugin version
- 没有可用的挂钩(如在提供的代码中)…
- 需要调用 YITH PDF 全局对象而不是
$document
。
因此您将能够在 templates/invoice/invoice-footer.php
模板中使用以下代码:
<?php global $ywpi_document; echo $ywpi_document->order->get_customer_note(); ?>