如何修改WP Overnight PDF发票中WooCommerce的"立即到期"文本为"付款到期"?
修改WP Overnight PDF发票插件的到期提示文本
问题原因
你要修改的「立即到期」(对应英文"Due Immediately")是WP Overnight PDF发票插件动态生成的专属文本,不属于WooCommerce核心内容,所以在WooCommerce文件里搜不到;而WC_Order_Item_Product::get_type()是用于获取订单项类型的方法,和到期提示文本完全无关,因此之前的尝试无效。
解决方案
通过添加自定义代码拦截并修改该文本,以下两种方法任选其一:
方法1:通过翻译过滤器修改目标字符串
将代码添加到主题的functions.php文件末尾,或使用自定义代码插件(如Code Snippets)添加:
add_filter('gettext', 'custom_pdf_invoice_due_text', 10, 3); function custom_pdf_invoice_due_text($translated_text, $text, $domain) { // 匹配PDF发票插件的文本域 if ($domain == 'woocommerce-pdf-invoices-packing-slips' && $text == 'Due Immediately') { $translated_text = '付款到期'; } return $translated_text; }
方法2:直接修改文档标签的组合文本
如果需要精准替换标签里的特定内容,使用以下代码:
add_filter('wpo_wcpdf_document_label', 'custom_pdf_invoice_label_with_due', 10, 2); function custom_pdf_invoice_label_with_due($label, $document) { // 仅针对发票类型文档生效 if ($document->get_type() == 'invoice') { $label = str_replace('立即到期', '付款到期', $label); } return $label; }
验证效果
添加代码后,生成新的银行付款税务发票,检查顶部提示是否已改为「税务发票 – 付款到期」。
内容的提问来源于stack exchange,提问作者SW Sajid
相关产品推荐
相关产品推荐

