Custom Print Template
Developer Documentation

Versions 4.0.1 and above for Print Manager for WooCommerce plugin

Overview

Print Manager plugin supports the ability to add Custom Print Templates as plugin add-ons. 

The Custom Print Template functionality for the Print Plugin would be the recommended solution for any custom fields required to be added or removed to a print-out receipt template or compatibility with other plugins not supported by default in the print templates included.

The print templates support a global $order variable, using $order->get_meta. This allows you to develop a Custom Print Template and add or remove all the fields you may require in the print-out receipt layout you want.

Important Note: We don’t recommend modifying the default templates under the /templates directory of the plugin. Print Manager plugin updates will override the modified template. Plus, we can’t guarantee the template format you modified will work in the future. We can commit to supporting the Custom Print Template solution in future releases as the correct solution for custom templates working with the plugin.


Plugin Development Structure 

Adding custom templates

Zprint कॉल wp हुक को लोड करने के बाद कस्टम टेम्पलेट को init करने के लिए zprint_loaded

यह zprint API का उपयोग करके प्लगइन लोडिंग की त्रुटियों को रोक देगा add_action ('zprint_loaded', 'your_plugin_init_function_name');

अब zprint_loaded - wp एक्शन, सफलतापूर्वक zprint लोड करने के बाद कहा जाएगा।

ZprintTemplates::registerTemplate – static method, require object, implements `ZprintTemplateIndex` interface

ZprintTemplateIndex

अपनी कक्षा में विधियों को लागू करने के लिए आवश्यक:
getName () - अपने टेम्पलेट का नाम लौटाएँ (स्ट्रिंग)
getSlug () - वापसी स्लग (स्ट्रिंग)
getPath ($format) - $format (`प्लेन`,` html`) को स्वीकार करें, लेआउट फ़ाइल (स्ट्रिंग) पर वापस जाएँ
getFormats () - रिटर्न एरो फॉर्मेट ऑफ फॉर्मेट्स, इंगित करें कि कौन से फॉर्मेट आपके टेम्पलेट प्रकार का समर्थन करते हैं, उदाहरण के लिए:
['html' => सत्य, 'सादा' => असत्य].

कस्टम स्वरूपों का समर्थन करता है (उदाहरण के लिए: html): ['key_format' => 'प्रारूप नाम']

अपने टेम्पलेट के लिए कस्टम विकल्पों के लिए, कार्यान्वित करें ZprintTemplateOptions इंटरफेस, renderOptions, processOptions तरीकों।
renderOptions ($options) - वर्तमान विकल्पों को स्वीकार करें सरणी सरणी, उन्हें एचटीएमएल को इनपुट के साथ प्रस्तुत करना चाहिए ताकि उन्हें स्थान के रूप में प्रदर्शित किया जा सके
processOptions ($options) - वर्तमान विकल्पों को स्वीकार करें सरणी सरणी, डेटा के साथ नए assoc सरणी को वापस करना चाहिए। आप नए डेटा तक पहुंच सकते हैं $_POST

प्रत्येक टेम्पलेट फ़ाइल में आप कुछ डेटा और सेटिंग्स चर तक पहुँच सकते हैं।
$templateOptions - एशोक सरणी में वर्तमान टेम्पलेट विकल्प शामिल हैं

About shipping settings

$location_data [ 'शिपिंग'] [ 'विधि'] - शिपिंग विधि दिखाएँ
$location_data [ 'शिपिंग'] [ 'billing_shipping_details'] - बिलिंग और शिपिंग विवरण दिखाएं
$location_data [ 'शिपिंग'] [ 'customer_details'] - ग्राहक का विवरण दिखाएं
$location_data [ 'शिपिंग'] [ 'मूल्य'] - शिपिंग लागत दिखाएं

Additional useful methods and functions

Zprintget_appearance_setting($name)से नाम सेटिंग स्वीकार करें सामान्य टैब प्रिंट सेटिंग्स.

अनुमत नाम: प्रतीक चिन्ह,आदेश हैडरहैडर की जाँच करेंकंपनी का नामकंपनी की जानकारीआदेश विवरण हैडरपाद सूचना #1पाद सूचना #2

वापसी स्ट्रिंग या src पथ के लिए प्रतीक चिन्ह

ZprintOrder::getHiddenKeys() ऑर्डर आइटम मेटा के लिए कुंजियों की वापसी सरणी (item_meta से $order-> get_items ()) जो प्रदर्शित नहीं होना चाहिए।

आप खुद की चाबियां लगा सकते हैं woocommerce_hidden_order_itemmeta फिल्टर।

Plain output format

कक्षा ZprintDocument स्ट्रिंग को प्रारूपित करने के लिए स्थिर तरीके शामिल करें:

दस्तावेज़ :: centerline ($string) - प्रिंटर केंद्रित स्ट्रिंग
दस्तावेज़ :: EMPTYLINE () = खाली स्ट्रिंग प्रिंट करें
दस्तावेज़ :: सिंबलसाइन ($ft, $right) - कॉलम प्रारूप में रिक्त स्थान से जुड़े दो स्ट्रिंग भागों को प्रिंट करें
दस्तावेज़ :: लाइन ($string) - लाइन में प्रिंट स्ट्रिंग

ये विधियाँ वर्ड रैप का समर्थन करती हैं। आप सक्षम कर सकते हैं लेआउट डिबग के लिए प्रतीक प्रिंट करें स्थान सेटिंग में। यह बेहतर लेआउट डिबग के लिए डॉट्स के लिए एलायंस स्पेस की जगह लेता है।


Extending Third-party Plugins Meta Data Support for the Templates

WP Actions

Use the provided actions to add any custom data to specific locations of the templates.

After Shipping Details

Zprinttemplatescustomer-htmlafterShippingDetails, passed argument: int $order_id
Zprinttemplatescustomer-plainafterShippingDetails, passed argument: int $order_id
Zprinttemplatesdetails-htmlafterShippingDetails, passed argument: int $order_id
Zprinttemplatesdetails-plainafterShippingDetails, passed argument: int $order_id
Zprinttemplatesorder-htmlafterShippingDetails, passed argument: int $order_id
Zprinttemplatesorder-plainafterShippingDetails, passed argument: int $order_id

Before Footer

Zprinttemplatescustomer-htmlbeforeFooter, passed argument: int $order_id
Zprinttemplatescustomer-plainbeforeFooter, passed argument: int $order_id
Zprinttemplatesdetails-htmlbeforeFooter, passed argument: int $order_id
Zprinttemplatesdetails-plainbeforeFooter, passed argument: int $order_id

End

Zprinttemplatesorder-htmlend, passed argument: int $order_id
Zprinttemplatesorder-plainend, passed argument: int $order_id

Action Usage Example
add_action( 'Zprinttemplatescustomer-htmlafterShippingDetails', 'afterShippingDetails', 10, 1 );

समारोह afterShippingDetails( int $order_id ): void {
    echo 'My custom data after shipping details';
}

WP Filters

Use the provided filters to modify the existing data in the templates.

Order Item Meta

Zprinttemplatescustomer-htmlorderItemMeta, filterable value: array $meta
Zprinttemplatescustomer-plainorderItemMeta, filterable value: array $meta
Zprinttemplatesdetails-htmlorderItemMeta, filterable value: array $meta
Zprinttemplatesdetails-plainorderItemMeta, filterable value: array $meta
Zprinttemplatesorder-htmlorderItemMeta, filterable value: array $meta
Zprinttemplatesorder-plainorderItemMeta, filterable value: array $meta

Order Item RAW Meta

Zprinttemplatescustomer-htmlorderItemRawMeta, filterable value: array $meta, passed argument: WC_Order_item $item
Zprinttemplatescustomer-plainorderItemRawMeta, filterable value: array $meta, passed argument: WC_Order_item $item
Zprinttemplatesdetails-htmlorderItemRawMeta, filterable value: array $meta, passed argument: WC_Order_item $item
Zprinttemplatesdetails-plainorderItemRawMeta, filterable value: array $meta, passed argument: WC_Order_item $item
Zprinttemplatesorder-htmlorderItemRawMeta, filterable value: array $meta, passed argument: WC_Order_item $item
Zprinttemplatesorder-plainorderItemRawMeta, filterable value: array $meta, passed argument: WC_Order_item $item

Filter Usage Example
add_filter( 'Zprinttemplatescustomer-htmlorderItemMeta', 'orderItemMeta', 10, 1 );

समारोह orderItemMeta( array $meta ): array {
    // Do something with meta
    वापसी $meta;
}

नमूना प्रिंट टेम्पलेट

The sample print template is a shell of a template, allowing you to easily customize for the Print out format. Make changes to the html and css files to customize the layout and content for the print-out.

The sample print template is a plugin add-on to the Print Manager plugin.

How to Install

Go to your WordPress admin, plugins page. Click Add New. Upload and Activate the plugin. You will see a plugin installed labeled “Sample Print Template”. The sample custom template is now active for selection and used by the Print Plugin.

Now go to Print Settings, click Location tab, and select a print location. Under the template section, click the drop down, you will now see the template “Fancy” for selection.