peprodev / ultimate-invoice

The most complete invoice plugin you will ever need. Easily create HTML/PDF invoices for your WC orders, in a beautiful style and e-mail it to your customers.
https://wordpress.org/plugins/pepro-ultimate-invoice/
GNU General Public License v3.0
3 stars 0 forks source link

Removed Wiki, How to Add Custom Invoice Template #1

Open pourmirzai opened 2 weeks ago

pourmirzai commented 2 weeks ago

سلام لینک ویکی غیرفعال شده و نمیشه روش ساخت قالب دید رو دید. من نیاز دارم برچسب پستی رو ویرایش کنم.

amirhp-com commented 2 weeks ago

سلام و وقت بخیر بله متاسفانه بخاطر مشکل امنیتی در پوش کردن یکی از ریلیز ها مجبور شدیم ریپازیتوری را کامل پاک کنیم و جدید ایجاد کنیم که تمامی فورک ها و استار و ویکی و ... همه چیز پاک شدند. بزودی ویکی جدید را به زبان فارسی و انگلیسی و بصورت کامل تر ایجاد خواهیم کرد.

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

ابتدا از یکی از قالب های داخل افزونه کپی بگیرید و تغییرات لازم را در ان اعمال کنید. سپس توسط کد زیر ان را فراخوانی کنید و از تنظیمات قالب را روی قالب جدیدی که ساختید ست کنید .

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

همچنین اگر نیاز داشتید ماکرو جدیدی به فاکتور ساز اضافه کنید و در قالب از آن استفاده کنید میتوانید از کد زیر کمک بگیرید:

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

امیدوارم به کارتون بیاد . هر سوالی هم داشتید همینجا مطرح کنید پاسخ میدهیم.

pourmirzai commented 2 weeks ago

ممنون از توضیحاتتون. با اینکار تمپلیت بعد از اپدیت افزونه پاک نمیشه؟