जो मैं चाहता हूं

मैं एक PHP-स्क्रिप्ट के माध्यम से पीडीएफ-चालान उत्पन्न करना चाहता हूं और इसे एक निश्चित स्थान पर संग्रहीत करना चाहता हूं (शायद .php फ़ाइल के बगल में एक फ़ोल्डर: "invoices/2020-12-29_invoices.pdf")। मेरे पास ऑर्डर-आईडी की एक सरणी है जिसे मैं पीडीएफ से प्राप्त करना चाहता हूं (उदाहरण: array('123132','12321',...))।

यह कैसे Wp-Admin के माध्यम से किया जाता है

व्यवस्थापक पैनल में कोई व्यक्ति WooCommerce->PDF चालान में ड्रॉपडाउन "पीडीएफ चालान" के साथ चालान-पीडीएफ बना सकता है और एक बटन-क्लिक पर निम्नलिखित उदाहरण लिंक चयनित आदेशों के लिए उत्पन्न होता है:

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

लिंक में ऑर्डर-आईडी शामिल हैं जिनकी पीडीएफ जेनरेट की जानी चाहिए और एक _wpnonce. लिंक ही एक पीडीएफ फाइल है।

मैं संघर्ष क्यों करता हूं

इसमें से अधिकांश jQuery, AJAX और मानव के माध्यम से इसे मैन्युअल रूप से संचालित करने के लिए किया जाता है, लेकिन मैं इसे ऑर्डर-आईडी की सूची के लिए स्वचालित रूप से PHP के माध्यम से करना चाहता हूं।

मैंने क्या खोजा

शायद wp_create_nonce('generate_wpo_wcpdf') काम का हो सकता है

मेरे द्वारा उपयोग किए जाने वाले प्लगइन्स

0
justsomexanda 29 पद 2020, 14:05

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप कोड में एक पीडीएफ बनाना चाहते हैं, तो आप इसे इस तरह कर सकते हैं:

$invoice = wcpdf_get_document( 'invoice', $order, true );
$pdf_data = $invoice->get_pdf();

फिर आप फ़ाइल में सहेजने के लिए पीडीएफ डेटा का उपयोग कर सकते हैं (file_put_contents आदि)

यदि आप व्यवस्थापक-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' )
2
Whitebox Labs 30 पद 2020, 22:57