-
Notifications
You must be signed in to change notification settings - Fork 2
Developer Guide [fa_IR]
Amirhossein Hosseinpour edited this page Aug 30, 2024
·
3 revisions
به راهنمای توسعه دهندگان برای سفارشی سازی افزونه PeproDev Ultimate Invoice خوش آمدید. این راهنما به شما کمک میکند تا قالبهای فاکتور سفارشی و ماکروهای دلخواه خود را اضافه کنید تا عملکرد فاکتورهای خود را بهبود بخشید. چه بخواهید یک قالب خاص ایجاد کنید یا محتوای پویا اضافه کنید، این راهنما به شما کمک خواهد کرد.
برای افزودن قالب فاکتور سفارشی، مراحل زیر را دنبال کنید:
-
کپی کردن یک قالب موجود:
- ابتدا یکی از قالبهای موجود در افزونه PeproDev Ultimate Invoice را کپی کنید.
-
ویرایش قالب:
- تغییرات لازم را در قالب کپی شده خود اعمال کنید.
-
ثبت قالب جدید:
- از کد زیر برای ثبت قالب جدید خود در افزونه استفاده کنید. این کد را در فایل
functions.phpقالب خود یا یک افزونه سفارشی قرار دهید.
- از کد زیر برای ثبت قالب جدید خود در افزونه استفاده کنید. این کد را در فایل
/**
* Add custom template to Invoice Templates list
* You can later select this Template from Ultimate Invoice Theming Settings
*
* Snippet by: Amirhp.Com
* Tested upto: WooCommerce: 9.x / WordPress: 6.6.x / Ultimate Invoice: 2.x
*/
add_filter("puiw_get_templates_list", function ($templates) {
$templates[] = plugin_dir_path(__FILE__) . "invoice-template/default.cfg";
return $templates;
}, 10, 1);-
تنظیم قالب جدید:
- به تنظیمات Ultimate Invoice بروید و قالب جدید را به عنوان قالب پیش فرض فاکتور انتخاب کنید.
اگر نیاز به افزودن پارامترهای پویا (ماکروها) به قالب فاکتور دارید، از مراحل زیر استفاده کنید:
/**
* Add Custom dynamic params to Invoice Template
* Use as {{{delivery_date}}} and {{{delivery_barcode}}}
*
* Snippet by: Amirhp.Com
* Tested upto: WooCommerce: 9.x / WordPress: 6.6.x / Ultimate Invoice: 2.x
*/
add_filter("puiw_get_default_dynamic_params", function($array_macros, $wc_order) {
$order = wc_get_order($wc_order);
$opts["delivery_date"] = $order->get_meta("_shipping_puiw_invoice_shipdate", true);
$opts["delivery_barcode"] = $order->get_meta("_shipping_puiw_invoice_track_id", true);
return $array_macros;
}, 10, 2);برای اطمینان از حفظ اعداد انگلیسی در ماکروها (مثلاً برای کدهای پیگیری)، از هوک زیر استفاده کنید:
/**
* Add {{{delivery_barcode}}} to Preserved Numbers as English digits list
*
* Snippet by: Amirhp.Com
* Tested upto: WooCommerce: 9.x / WordPress: 6.6.x / Ultimate Invoice: 2.x
*/
add_filter("puiw_printinvoice_preserve_english_numbers", function($array_macros, $options, $wc_order) {
array_push($array_macros, "delivery_barcode");
return $array_macros;
}, 10, 3);اگر نیاز دارید که از سنیتایز شدن HTML در ماکروها جلوگیری کنید، از کد زیر استفاده کنید:
/**
* Add {{{delivery_barcode}}} to Preserved HTML Tags list
* If this macro contain HTML elements, it won't be sanitized
*
* Snippet by: Amirhp.Com
* Tested upto: WooCommerce: 9.x / WordPress: 6.6.x / Ultimate Invoice: 2.x
*/
add_filter("puiw_printinvoice_preserve_html_tags", function($array_macros, $options, $wc_order) {
array_push($array_macros, "delivery_barcode");
return $array_macros;
}, 10, 3);