Skip to content

Developer Guide [fa_IR]

Amirhossein Hosseinpour edited this page Aug 30, 2024 · 3 revisions

سفارشی سازی فاکتور ساز: قالب‌ها و ماکروها

معرفی

به راهنمای توسعه دهندگان برای سفارشی سازی افزونه PeproDev Ultimate Invoice خوش آمدید. این راهنما به شما کمک می‌کند تا قالب‌های فاکتور سفارشی و ماکروهای دلخواه خود را اضافه کنید تا عملکرد فاکتورهای خود را بهبود بخشید. چه بخواهید یک قالب خاص ایجاد کنید یا محتوای پویا اضافه کنید، این راهنما به شما کمک خواهد کرد.

افزودن قالب فاکتور سفارشی

برای افزودن قالب فاکتور سفارشی، مراحل زیر را دنبال کنید:

  1. کپی کردن یک قالب موجود:

    • ابتدا یکی از قالب‌های موجود در افزونه PeproDev Ultimate Invoice را کپی کنید.
  2. ویرایش قالب:

    • تغییرات لازم را در قالب کپی شده خود اعمال کنید.
  3. ثبت قالب جدید:

    • از کد زیر برای ثبت قالب جدید خود در افزونه استفاده کنید. این کد را در فایل 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);
  1. تنظیم قالب جدید:
    • به تنظیمات Ultimate Invoice بروید و قالب جدید را به عنوان قالب پیش فرض فاکتور انتخاب کنید.

افزودن ماکروهای سفارشی

1. افزودن پارامترهای پویا به قالب فاکتور

اگر نیاز به افزودن پارامترهای پویا (ماکروها) به قالب فاکتور دارید، از مراحل زیر استفاده کنید:

/**
* 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);

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);

3. حفظ HTML در ماکروها

اگر نیاز دارید که از سنیتایز شدن 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);

نتیجه‌گیری

امیدواریم این راهنما به شما کمک کند تا افزونه PeproDev Ultimate Invoice را مطابق با نیازهای خود سفارشی کنید. اگر سوالی دارید یا به مشکلی برخورد کردید، لطفاً با ما تماس بگیرید.