使用 WooCommerce PDF 发票和装箱单通过 PHP 生成并获取发票 PDF

jus*_*nda 0 php pdf wordpress invoice woocommerce

我想要的是

我想通过 PHP 脚本生成 PDF 发票并将其存储到某个位置(可能是 .php 文件旁边的文件夹:)"invoices/2020-12-29_invoices.pdf"。我有一个订单 ID 数组,我想从中获取 PDF(例如:)array('123132','12321',...)

如何通过 Wp-Admin 完成

在管理面板中,有人可以使用 WooCommerce->PDF 发票中的下拉菜单“PDF 发票”创建发票 PDF,然后单击按钮,将为所选订单生成以下示例链接:

https://www.example.com/wp-admin/admin-ajax.php?action=generate_wpo_wcpdf&document_type=invoice&order_ids=123132x12321&_wpnonce=3fnonce29

该链接包含应生成 PDF 的订单 ID 和 _wpnonce。该链接本身是一个 PDF 文件。

我为何挣扎

大部分工作是通过 jQuery、ajax 和人工手动操作完成的,但我希望通过 php 自动完成订单 ID 列表。

我发现了什么

大概wp_create_nonce('generate_wpo_wcpdf')可以用得上

我使用的插件

小智 5

如果你想用代码创建PDF,你可以这样做:

$invoice = wcpdf_get_document( 'invoice', $order, true );
$pdf_data = $invoice->get_pdf();
Run Code Online (Sandbox Code Playgroud)

然后您可以使用 PDF 数据保存到文件(file_put_contents 等)

如果您想使用 admin-ajax 链接,您可以像这样创建随机数:

wp_nonce_url( admin_url( 'admin-ajax.php?action=generate_wpo_wcpdf&template_type=invoice&order_ids=' . $list_of_order_ids ), 'generate_wpo_wcpdf' )
Run Code Online (Sandbox Code Playgroud)