{"id":381216,"date":"2026-10-12T05:26:47","date_gmt":"2026-10-12T05:26:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/persian-kit\/"},"modified":"2026-10-13T07:06:44","modified_gmt":"2026-10-13T07:06:44","slug":"persian-kit","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/persian-kit\/","author":1257563,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.3","requires":"6.8","requires_php":"8.1","requires_plugins":null,"header_name":"Persian Kit","header_author":"Eram","header_description":"A modular Persian (Farsi) language toolkit for WordPress.","assets_banners_color":"9ac1c1","last_updated":"2026-10-13 07:06:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/eram.dev\/fa\/projects\/persian-kit\/","header_author_uri":"https:\/\/eram.dev\/fa\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":75,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"mostafa.s1990","date":"2026-10-12 05:26:30","revision":3740533},"1.0.2":{"tag":"1.0.2","author":"mostafa.s1990","date":"2026-10-13 07:06:44","revision":3743127}},"upgrade_notice":{"1.0.2":"<p>Persian Kit is now made by Eram, with its guides on eram.dev. A quieter settings page and faster archives, ACF screens and checkout. Existing settings are kept.<\/p>","1.0.1":"<p>Improved admin font coverage and complete bilingual documentation. Existing settings are kept.<\/p>","1.0.0":"<p>The first stable release. WPForms and Gravity Forms support, Jalali dates in WooCommerce Analytics, and Afghan and Kurdish month names. Needs WordPress 6.8 and WooCommerce 9.9 or newer. Existing settings are kept.<\/p>","1.0.0-beta.6":"<p>Beta release. A guided switch from Parsi Date, Persian WooCommerce and Persian WooCommerce Shipping, &quot;call for price&quot;, a shorter checkout for virtual products and a Persian font in WooCommerce emails. Existing settings are kept.<\/p>","1.0.0-beta.5":"<p>Beta release. Integrations for Forminator, Contact Form 7, ACF, WooCommerce, Yoast SEO, Rank Math, WPML and Polylang, a WooCommerce checkout for Iran, and a settings page with tabs. Existing settings are kept: Forms becomes the Contact Form 7 and ACF integrations.<\/p>","1.0.0-beta.4":"<p>Beta release. Jalali date archives, archive list and calendar, optional Jalali post permalinks, a Persian admin interface, search that finds both spellings of \u06cc and \u06a9, and safer defaults for new installs; existing sites keep their settings.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3740533,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3740533,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3740533,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500-rtl.png":{"filename":"banner-1544x500-rtl.png","revision":3740533,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3740533,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250-rtl.png":{"filename":"banner-772x250-rtl.png","revision":3740533,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3740533,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3740533,"resolution":"1","location":"assets","locale":"","width":1600,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3740533,"resolution":"2","location":"assets","locale":"","width":1600,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3740533,"resolution":"3","location":"assets","locale":"","width":1600,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3740533,"resolution":"4","location":"assets","locale":"","width":1600,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3740533,"resolution":"5","location":"assets","locale":"","width":1600,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3740533,"resolution":"6","location":"assets","locale":"","width":1600,"height":900},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3740533,"resolution":"7","location":"assets","locale":"","width":1600,"height":900},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3740533,"resolution":"8","location":"assets","locale":"","width":1600,"height":900}},"screenshots":{"1":"Jalali dates and Persian digits across the site: post dates, the calendar and the archive list.","2":"A WooCommerce checkout for Iran: provinces in Persian, city suggestions, checked postcodes and phone numbers, and prices in toman.","3":"WooCommerce Analytics on the Jalali calendar: Jalali months, seasons and years.","4":"Iranian fields and the Jalali date picker in forms, with errors in Persian.","5":"Jalali dates and a Jalali month filter on the admin post list.","6":"Display settings: each part has its own switch.","7":"Works with the plugins you already use: each active one gets its own card.","8":"Switching from Parsi Date: each of its settings next to Persian Kit's, before anything changes."}},"plugin_section":[262246],"plugin_tags":[1261,48680,1260,56368,286],"plugin_category":[45],"plugin_contributors":[183049,77754],"plugin_business_model":[],"class_list":["post-381216","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-farsi","plugin_tags-jalali","plugin_tags-persian","plugin_tags-shamsi","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-kashani","plugin_contributors-mostafas1990","plugin_committers-kashani","plugin_committers-mostafas1990"],"banners":{"banner":"https:\/\/ps.w.org\/persian-kit\/assets\/banner-772x250.png?rev=3740533","banner_2x":"https:\/\/ps.w.org\/persian-kit\/assets\/banner-1544x500.png?rev=3740533","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/persian-kit\/assets\/icon.svg?rev=3740533","icon":"https:\/\/ps.w.org\/persian-kit\/assets\/icon.svg?rev=3740533","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/persian-kit\/assets\/screenshot-1.png?rev=3740533","caption":"Jalali dates and Persian digits across the site: post dates, the calendar and the archive list."},{"src":"https:\/\/ps.w.org\/persian-kit\/assets\/screenshot-2.png?rev=3740533","caption":"A WooCommerce checkout for Iran: provinces in Persian, city suggestions, checked postcodes and phone numbers, and prices in toman."},{"src":"https:\/\/ps.w.org\/persian-kit\/assets\/screenshot-3.png?rev=3740533","caption":"WooCommerce Analytics on the Jalali calendar: Jalali months, seasons and years."},{"src":"https:\/\/ps.w.org\/persian-kit\/assets\/screenshot-4.png?rev=3740533","caption":"Iranian fields and the Jalali date picker in forms, with errors in Persian."},{"src":"https:\/\/ps.w.org\/persian-kit\/assets\/screenshot-5.png?rev=3740533","caption":"Jalali dates and a Jalali month filter on the admin post list."},{"src":"https:\/\/ps.w.org\/persian-kit\/assets\/screenshot-6.png?rev=3740533","caption":"Display settings: each part has its own switch."},{"src":"https:\/\/ps.w.org\/persian-kit\/assets\/screenshot-7.png?rev=3740533","caption":"Works with the plugins you already use: each active one gets its own card."},{"src":"https:\/\/ps.w.org\/persian-kit\/assets\/screenshot-8.png?rev=3740533","caption":"Switching from Parsi Date: each of its settings next to Persian Kit's, before anything changes."}],"raw_content":"<!--section=description-->\n<p>\u0628\u0627 \u067e\u0631\u0634\u06cc\u0646 \u06a9\u06cc\u062a\u060c \u062f\u06cc\u06af\u0631 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0646\u0635\u0628 \u0686\u0646\u062f \u0627\u0641\u0632\u0648\u0646\u0647 \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0627\u06cc \u0641\u0627\u0631\u0633\u06cc\u200c\u0633\u0627\u0632\u06cc \u0648\u0631\u062f\u067e\u0631\u0633 \u0648 \u0648\u0648\u06a9\u0627\u0645\u0631\u0633 \u0646\u062f\u0627\u0631\u06cc\u062f. \u062a\u0642\u0648\u06cc\u0645 \u0634\u0645\u0633\u06cc\u060c \u0646\u0645\u0627\u06cc\u0634 \u0627\u0639\u062f\u0627\u062f \u0641\u0627\u0631\u0633\u06cc\u060c \u0627\u0635\u0644\u0627\u062d \u062d\u0631\u0648\u0641\u060c \u062a\u0633\u0648\u06cc\u0647 \u062d\u0633\u0627\u0628 \u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u0627 \u0627\u06cc\u0631\u0627\u0646 \u0648 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0645\u0648\u0628\u0627\u06cc\u0644 \u0648 \u06a9\u062f \u0645\u0644\u06cc \u0631\u0627 \u06cc\u06a9\u062c\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u062f\u0627\u0631\u06cc\u062f \u0648 \u0641\u0642\u0637 \u0628\u062e\u0634\u200c\u0647\u0627\u06cc \u0645\u0648\u0631\u062f\u0646\u06cc\u0627\u0632\u062a\u0627\u0646 \u0631\u0627 \u0631\u0648\u0634\u0646 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f.<\/p>\n\n<p>Persian Kit makes WordPress and WooCommerce work the way Persian-speaking visitors expect: Jalali (Shamsi) dates, Persian digits, the right Persian letters, a checkout for Iran and form fields that check Iranian mobile numbers and national IDs. Each part has its own switch, so you turn on only what you need.<\/p>\n\n<p>WordPress dates stay Gregorian in the database and display as Jalali dates. Display-only changes stop when disabled. Normalization, saved slugs and imported data are not automatically reversed. Replace custom form fields and review thousand-unit currencies before deactivating; uninstall removes settings and import undo logs.<\/p>\n\n<h4>Jalali dates<\/h4>\n\n<ul>\n<li>Jalali dates for posts, comments, the admin screens and the block editor's date panel: \u06f1\u06f2 \u0645\u0647\u0631 \u06f1\u06f4\u06f0\u06f5<\/li>\n<li>Jalali archive pages (\/1405\/07\/ lists the posts of Mehr 1405), and Jalali months and days in the Archives and Calendar widgets and blocks<\/li>\n<li>Optional Jalali dates in post links (\/1405\/07\/09\/my-post\/), with old links redirected<\/li>\n<li>Optionally, the Gregorian date next to the Jalali one: \u06f1\u06f2 \u0645\u0647\u0631 \u06f1\u06f4\u06f0\u06f5 (2026-10-04)<\/li>\n<li>Afghan and Kurdish month names: Dari (\u06f1\u06f2 \u0645\u06cc\u0632\u0627\u0646 \u06f1\u06f4\u06f0\u06f5), Pashto (\u06f1\u06f2 \u062a\u0644\u0647 \u06f1\u06f4\u06f0\u06f5) or Sorani Kurdish (\u06f1\u06f2 \u0695\u06d5\u0632\u0628\u06d5\u0631 \u06f1\u06f4\u06f0\u06f5), chosen by the site's language or by you<\/li>\n<li>A Jalali date picker for the post date in the classic editor and Quick Edit, and for WooCommerce's order, product and coupon dates<\/li>\n<\/ul>\n\n<h4>Persian digits and letters<\/h4>\n\n<ul>\n<li>Persian digits in content, titles, the browser tab, widgets, menus, dates, counts and prices (off until you turn it on)<\/li>\n<li>Search that finds words typed with Arabic (\u064a \u0643) or Persian (\u06cc \u06a9) letters, and numbers typed with Persian (\u06f1\u06f4\u06f0\u06f5) or English (1405) digits<\/li>\n<li>Arabic \u064a and \u0643 fixed to Persian \u06cc and \u06a9 when posts, comments, categories, tags and menus are saved (off until you turn it on), and a tool that fixes existing posts after counting them first<\/li>\n<li>Half-space (ZWNJ) shortcuts in the classic and block editors, and optional half-spaces in compound words<\/li>\n<li>Persian slugs that keep Persian letters readable<\/li>\n<li>A Persian admin, in Vazirmatn, Noto Sans Arabic or IBM Plex Sans Arabic<\/li>\n<\/ul>\n\n<h4>WooCommerce<\/h4>\n\n<ul>\n<li>A checkout for Iran: Persian digits in phone numbers and postcodes saved as English digits, Iranian phone numbers and postcodes checked, an optional national ID (\u06a9\u062f \u0645\u0644\u06cc) field, city suggestions for each province, and only the provinces you deliver to<\/li>\n<li>A shorter checkout for courses, files and services: name, country, phone and email<\/li>\n<li>Thousand toman and thousand rial currencies, with prices in rials for search engines<\/li>\n<li>\"Call for price\" (\u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f) in place of an empty price<\/li>\n<li>Jalali dates on orders, and WooCommerce Analytics by Jalali months, seasons and years<\/li>\n<li>Persian digits in the cart and checkout block prices and in emails, and a Persian font in emails<\/li>\n<li>Compatible with HPOS (custom order tables) and the block checkout<\/li>\n<\/ul>\n\n<h4>Forms<\/h4>\n\n<ul>\n<li>Contact Form 7: a Jalali date picker, and mobile, national ID, postcode, card number and IBAN fields that check what is typed<\/li>\n<li>Gravity Forms: Jalali Date fields in all three styles, an \"Iranian fields\" group, an Iran address type, and toman and rial<\/li>\n<li>WPForms, also Lite: an \"Iranian fields\" group and a Jalali date field<\/li>\n<li>Forminator: a Jalali date picker, and Iranian checks with a CSS class<\/li>\n<li>ACF: a Jalali date picker for Date Picker and Date Time Picker fields<\/li>\n<\/ul>\n\n<p>Supported form inputs submit Gregorian dates. WPForms also keeps a formatted display value, which can be Jalali, alongside its Gregorian date and UTC timestamp. Supported email date displays can be Jalali; test exports and add-ons with your form plugin.<\/p>\n\n<h4>Works with your plugins<\/h4>\n\n<ul>\n<li>Yoast SEO and Rank Math: search engines still get Gregorian dates and prices in rials, and date archives get Jalali titles<\/li>\n<li>WPML and Polylang: configured page languages control date and digit display; Persian, Pashto and Sorani Kurdish use Jalali by default, while writing tools follow Persian content<\/li>\n<li>Integrations default on and run when the required plugin is active and meets any minimum version<\/li>\n<\/ul>\n\n<h4>Switch from Parsi Date or Persian WooCommerce<\/h4>\n\n<p>A guided switch from Parsi Date, Persian WooCommerce and Persian WooCommerce Shipping. Before anything changes, it shows each of their settings next to Persian Kit's. Then it brings over settings, widgets and blocks, ACF dates, Iranian provinces and cities and order statuses, keeps old Jalali links working, and gives you a report and an undo.<\/p>\n\n<h4>For developers<\/h4>\n\n<ul>\n<li>PHP helpers for Persian text, digits, dates and Iranian data: <code>persian_kit_date()<\/code>, <code>persian_kit_to_persian_digits()<\/code>, <code>persian_kit_validate_national_id()<\/code>, <code>persian_kit_validate_iban()<\/code> and more<\/li>\n<li>Jalali companion fields in the REST API<\/li>\n<li>Filters, documented in the <a href=\"https:\/\/eram.dev\/en\/docs\/persian-kit\/developers\/hooks\/\">reference<\/a><\/li>\n<li>WP-CLI commands: <code>wp persian-kit normalize<\/code> and <code>wp persian-kit import<\/code><\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>Persian Kit doesn't track you or your visitors and sends nothing to other sites. Its fonts, scripts, date picker and city list all ship with the plugin, so nothing is loaded from elsewhere.<\/p>\n\n<h4>Bundled software<\/h4>\n\n<p>Persian Kit ships and credits the following third-party components:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/eram.dev\/fa\/projects\/abzar-php\/\">eram\/abzar<\/a> \u2014 MIT-licensed PHP utilities for Persian text and digit handling.<\/li>\n<li><a href=\"https:\/\/eram.dev\/fa\/projects\/daynum\/\">eram\/daynum<\/a> \u2014 MIT-licensed PHP Jalali date library.<\/li>\n<li><a href=\"https:\/\/alpinejs.dev\">Alpine.js<\/a> \u2014 MIT-licensed JavaScript framework, bundled into the admin script together with its MIT-licensed dependencies <code>@vue\/reactivity<\/code> and <code>@vue\/shared<\/code>.<\/li>\n<li><a href=\"https:\/\/github.com\/rastikerdar\/vazirmatn\">Vazirmatn<\/a> \u2014 Persian font by Saber Rastikerdar, licensed under the SIL Open Font License 1.1.<\/li>\n<li><a href=\"https:\/\/github.com\/notofonts\/arabic\">Noto Sans Arabic<\/a> \u2014 font by Google and the Noto Project Authors, licensed under the SIL Open Font License 1.1.<\/li>\n<li><a href=\"https:\/\/github.com\/IBM\/plex\">IBM Plex Sans Arabic<\/a> \u2014 font by IBM, licensed under the SIL Open Font License 1.1.<\/li>\n<li><a href=\"https:\/\/eram.dev\/fa\/projects\/intl-datepicker\/\">intl-datepicker<\/a> \u2014 MIT-licensed date picker Web Component, bundled into <code>public\/js\/datepicker.js<\/code>.<\/li>\n<li><a href=\"https:\/\/github.com\/adobe\/react-spectrum\/tree\/main\/packages\/@internationalized\/date\">@internationalized\/date<\/a> \u2014 Adobe's calendar library, licensed under the Apache License 2.0, bundled into <code>public\/js\/datepicker.js<\/code>.<\/li>\n<li>Tapin's list of provinces and cities, from <a href=\"https:\/\/wordpress.org\/plugins\/persian-woocommerce-shipping\/\">Persian WooCommerce Shipping<\/a> by Mahdi Yousefi (GPLv3), in <code>public\/data\/pws-tapin.json<\/code>, to read addresses that plugin saved with Tapin's ids.<\/li>\n<\/ul>\n\n<p>Because <code>public\/data\/pws-tapin.json<\/code> is GPLv3, the plugin as distributed is under GPLv3. The plugin's own code stays GPLv2 or later.<\/p>\n\n<p>All bundled components are GPL-compatible. Their license texts ship with the plugin: <code>packages\/eram\/*\/LICENSE<\/code>, <code>public\/fonts\/vazirmatn\/OFL.txt<\/code>, <code>public\/fonts\/noto-sans-arabic\/OFL.txt<\/code>, <code>public\/fonts\/ibm-plex-sans-arabic\/OFL.txt<\/code>, <code>public\/licenses\/<\/code> and the header of <code>public\/js\/admin.js<\/code>.<\/p>\n\n<h4>Source code<\/h4>\n\n<p>Plugin homepage: <a href=\"https:\/\/eram.dev\/fa\/projects\/persian-kit\/\">https:\/\/eram.dev\/fa\/projects\/persian-kit\/<\/a><\/p>\n\n<p>Full source, build instructions, and issue tracker:\n<a href=\"https:\/\/github.com\/eramhq\/persian-kit\">https:\/\/github.com\/eramhq\/persian-kit<\/a><\/p>\n\n<p>Full guides: <a href=\"https:\/\/eram.dev\/en\/docs\/persian-kit\/overview\/\">English<\/a> and <a href=\"https:\/\/eram.dev\/fa\/docs\/persian-kit\/overview\/\">\u0641\u0627\u0631\u0633\u06cc<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload a built <code>persian-kit.zip<\/code> through the Plugins screen, or copy the complete built folder to <code>\/wp-content\/plugins\/<\/code>. A source checkout must have dependencies and assets built first.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Visit <strong>Persian Kit<\/strong> in the admin sidebar to enable the modules you need.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20persian%20kit%20support%20multisite%3F\"><h3>Does Persian Kit support multisite?<\/h3><\/dt>\n<dd><p>Persian Kit is configured per site. Network activation creates the default settings on every site, and on sites added later; configure each site from its own Persian Kit screen. Uninstalling the plugin removes its options from every site in the network.<\/p><\/dd>\n<dt id=\"is%20persian%20kit%20compatible%20with%20woocommerce%20hpos%20%28custom%20order%20tables%29%3F\"><h3>Is Persian Kit compatible with WooCommerce HPOS (custom order tables)?<\/h3><\/dt>\n<dd><p>Yes. Persian Kit declares HPOS compatibility and the Jalali order date filter works on both the classic orders screen and the HPOS Orders screen.<\/p><\/dd>\n<dt id=\"where%20do%20translations%20come%20from%3F\"><h3>Where do translations come from?<\/h3><\/dt>\n<dd><p>Persian Kit ships a Persian (fa_IR) translation of its settings screen. Once a language pack for your language is available from translate.wordpress.org, WordPress installs it and Persian Kit uses that instead of the bundled file.<\/p><\/dd>\n<dt id=\"what%20does%20persian%20kit%20change%20when%20i%20activate%20it%3F\"><h3>What does Persian Kit change when I activate it?<\/h3><\/dt>\n<dd><p>Nothing in your saved content. On a new install, dates are shown as Jalali, search matches both Arabic and Persian spellings of \u06cc and \u06a9, Persian slugs and the editor half-space shortcut are on, and the admin uses the Vazirmatn font when its language is Persian. Persian digits and fixing letters on save start off. The settings page shows a short welcome note the first time you open it. Sites upgrading from an earlier version keep their settings.<\/p><\/dd>\n<dt id=\"how%20does%20persian%20kit%20change%20slugs%3F\"><h3>How does Persian Kit change slugs?<\/h3><\/dt>\n<dd><p>With \"Use Persian slugs\" on under Writing &gt; Persian slugs (the default), new posts and terms with Persian titles get slugs that keep the Persian letters, with a half-space turned into \"-\". Titles without Persian letters are slugged by WordPress as usual. Existing slugs are never rewritten, and older URLs keep working. Turn the option off to use WordPress's percent-encoded slugs instead. Either way, links in your pages are percent-encoded, as WordPress's own Persian links are; browsers show them with Persian letters.<\/p><\/dd>\n<dt id=\"what%20does%20persian%20kit%20change%20in%20the%20admin%3F\"><h3>What does Persian Kit change in the admin?<\/h3><\/dt>\n<dd><p>With Jalali dates on, the dashboard's Activity widget, post lists and the admin bar show Jalali dates. The Activity widget is WordPress's own widget re-rendered with Jalali dates. The admin font applies only when the admin language is Persian or right-to-left.<\/p><\/dd>\n<dt id=\"how%20do%20date%20archives%20work%3F\"><h3>How do date archives work?<\/h3><\/dt>\n<dd><p>With Jalali dates on, a date archive whose year is below 1700 is Jalali: <code>\/1405\/07\/<\/code> lists the posts of Mehr 1405, <code>\/1405\/<\/code> those of the Jalali year and <code>\/1405\/07\/09\/<\/code> those of one day, and the title reads \"\u0645\u0647\u0631 1405\". The Archives and Calendar widgets and blocks list Jalali months and days and link to these pages; turn that off with the \"Jalali archives and calendar\" option.<\/p>\n\n<p>Gregorian archives such as <code>\/2025\/03\/<\/code> keep working. Every Gregorian month spans two Jalali months, so their title names both (for example \"\u0627\u0633\u0641\u0646\u062f 1403 \u2013 \u0641\u0631\u0648\u0631\u062f\u06cc\u0646 1404\").<\/p><\/dd>\n<dt id=\"can%20post%20permalinks%20use%20jalali%20dates%3F\"><h3>Can post permalinks use Jalali dates?<\/h3><\/dt>\n<dd><p>Yes, if your permalink structure has the date, such as \"Day and name\". Turn on \"Jalali dates in post links\" under Display &gt; Jalali dates, and posts link to <code>\/1405\/07\/09\/my-post\/<\/code> instead of <code>\/2026\/10\/01\/my-post\/<\/code>. Old Gregorian links redirect to the new ones, and turning the option off again redirects the Jalali links back.<\/p>\n\n<p>Jalali links keep working while Jalali dates are off, whichever plugin made them (Persian Kit, Parsi Date or WP Jalali): they redirect to the Gregorian links. They only work while Persian Kit is active. If you deactivate it, they return \"not found\", so turn the option off first; the Gregorian links then work.<\/p><\/dd>\n<dt id=\"can%20i%20show%20the%20gregorian%20date%20too%3F\"><h3>Can I show the Gregorian date too?<\/h3><\/dt>\n<dd><p>Yes. Turn on \"Show the Gregorian date too\" under Display &gt; Jalali dates, and post and comment dates read \"\u06f1\u06f0 \u0645\u0647\u0631 \u06f1\u06f4\u06f0\u06f5 (2026-10-02)\". You can show it with month names (\"\u06f2 \u0627\u06a9\u062a\u0628\u0631 \u06f2\u06f0\u06f2\u06f6\"), put it first, and choose parentheses, a slash or a dash between the dates. With Persian digits on for dates, it gets Persian digits too. Feeds, search engines, admin screens, emails, the store and archives keep one date.<\/p><\/dd>\n<dt id=\"can%20i%20use%20afghan%20or%20kurdish%20month%20names%3F\"><h3>Can I use Afghan or Kurdish month names?<\/h3><\/dt>\n<dd><p>Yes. Afghanistan and Kurdistan use the same calendar under other names, and Persian Kit picks them from your site's language: Dari (fa_AF) gets \u062d\u0645\u0644\u060c \u062b\u0648\u0631\u060c \u062c\u0648\u0632\u0627\u2026 (\"\u06f1\u06f2 \u0645\u06cc\u0632\u0627\u0646 \u06f1\u06f4\u06f0\u06f5\"), Pashto (ps) \u0648\u0631\u06cc\u060c \u063a\u0648\u06cc\u06cc\u060c \u063a\u0628\u0631\u06ab\u0648\u0644\u06cc\u2026 (\"\u06f1\u06f2 \u062a\u0644\u0647 \u06f1\u06f4\u06f0\u06f5\") and Sorani Kurdish (ckb) \u062e\u0627\u06a9\u06d5\u0644\u06ce\u0648\u06d5\u060c \u06af\u0648\u06b5\u0627\u0646\u060c \u062c\u06c6\u0632\u06d5\u0631\u062f\u0627\u0646\u2026 (\"\u06f1\u06f2 \u0695\u06d5\u0632\u0628\u06d5\u0631 \u06f1\u06f4\u06f0\u06f5\"). To choose another set, use \"Month names\" under Display &gt; Jalali dates. Weekdays, the Gregorian month names next to the Jalali date, the date picker and WooCommerce Analytics follow the same choice. The days and the year (1405) are the same as in Iran. On a WPML or Polylang site each language has its own choice, and Pashto and Kurdish pages get Jalali dates like Persian ones.<\/p><\/dd>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce features, and the WooCommerce tab on the settings page, only appear when WooCommerce is installed and active.<\/p><\/dd>\n<dt id=\"what%20does%20persian%20kit%20change%20at%20the%20woocommerce%20checkout%3F\"><h3>What does Persian Kit change at the WooCommerce checkout?<\/h3><\/dt>\n<dd><p>With the WooCommerce module on (WooCommerce tab), what customers type is fixed before it is saved: Persian and Arabic digits in phone numbers and postcodes become English digits, and Arabic \u064a and \u0643 in names and addresses become Persian \u06cc and \u06a9. For addresses in Iran, the phone must be a valid mobile or landline number and the postcode must have 10 valid digits. Both work in the classic checkout, the block checkout and My Account. You can also ask for the customer's national ID (optional or required); it is checked, and shown on the order screen and in order emails.<\/p><\/dd>\n<dt id=\"can%20woocommerce%20emails%20show%20persian%20digits%3F\"><h3>Can WooCommerce emails show Persian digits?<\/h3><\/dt>\n<dd><p>Yes. Turn on Display &gt; Persian digits &gt; WooCommerce emails. Order numbers, prices, quantities and dates in emails in Persian then use Persian digits, in the subject too. Phone numbers, postcodes, coupon codes and links keep English digits, so they can be copied and still work. A customer who pastes an order number in Persian digits into the order tracking form, or an admin who pastes it into the order search, still finds the order. Gmail may not find \"123\" in a subject that says \"\u06f1\u06f2\u06f3\"; to keep order numbers in English digits, return false from the <code>persian_kit_digit_conversion<\/code> filter for <code>woocommerce_email_order_number<\/code>.<\/p><\/dd>\n<dt id=\"which%20font%20do%20persian%20emails%20use%3F\"><h3>Which font do Persian emails use?<\/h3><\/dt>\n<dd><p>WooCommerce's emails ask for Helvetica or Arial, fonts made for English, so Persian text was shown in whatever font the mail app picked. With \"Persian font in emails\" on (WooCommerce &gt; Emails, on by default), emails in Persian use Tahoma, then Segoe UI on newer Windows, the iPhone's own Persian font and Noto Sans Arabic on Android. These are installed-font preferences, so nothing is downloaded; the mail app uses a font available on the reader\u2019s device. A font you picked under WooCommerce &gt; Settings &gt; Emails, or in the block email editor's styles, is kept, as are emails in other languages. On a right-to-left site, block emails read right to left too.<\/p><\/dd>\n<dt id=\"does%20woocommerce%20analytics%20show%20jalali%20dates%3F\"><h3>Does WooCommerce Analytics show Jalali dates?<\/h3><\/dt>\n<dd><p>Yes, with \"Jalali dates in WooCommerce Analytics\" on (WooCommerce &gt; Dates, on by default). \"Last month\" is the last Jalali month, quarters are Jalali seasons (\u0628\u0647\u0627\u0631, \u062a\u0627\u0628\u0633\u062a\u0627\u0646, \u067e\u0627\u06cc\u06cc\u0632, \u0632\u0645\u0633\u062a\u0627\u0646) and years start on 1 Farvardin, so reports group sales by Jalali calendar periods. Bars by month, season or year hold whole Jalali months, not Gregorian ones with Jalali names. Custom ranges are picked on a Jalali calendar, dates in tables and charts are Jalali, and CSV exports keep the Gregorian date with a Jalali date column next to it. Stored order dates are not changed; report aggregation uses Jalali periods while enabled. Turn the option off to return to Gregorian periods.<\/p><\/dd>\n<dt id=\"can%20i%20sell%20only%20to%20some%20provinces%3F\"><h3>Can I sell only to some provinces?<\/h3><\/dt>\n<dd><p>Yes. Under WooCommerce &gt; Checkout and addresses, choose \"Only these provinces\" and tick the provinces you deliver to. For addresses in Iran, the checkout, the cart and My Account then list only those, and another province is refused. With one province, it is selected for the customer. The shop admin still lists every province, and past orders keep their province's name.<\/p><\/dd>\n<dt id=\"can%20the%20checkout%20skip%20the%20address%20for%20downloads%20and%20services%3F\"><h3>Can the checkout skip the address for downloads and services?<\/h3><\/dt>\n<dd><p>Yes. Under WooCommerce &gt; Checkout and addresses, tick \"Shorter checkout when nothing needs shipping\". When every item in the cart is virtual, the checkout asks for the name, country, phone and email, and the national ID when it's on; order notes stay. It works in the classic and the block checkout. As soon as the cart has an item that ships, the whole address is asked for again. Addresses customers saved in My Account don't change.<\/p><\/dd>\n<dt id=\"can%20my%20store%20price%20in%20thousand%20toman%3F\"><h3>Can my store price in thousand toman?<\/h3><\/dt>\n<dd><p>Yes. Pick \"Iranian thousand toman\" (\u0647\u0632\u0627\u0631 \u062a\u0648\u0645\u0627\u0646) or \"Iranian thousand rial\" (\u0647\u0632\u0627\u0631 \u0631\u06cc\u0627\u0644) under WooCommerce &gt; Settings &gt; General &gt; Currency. Changing the currency doesn't convert prices you have saved, shipping costs or coupons, so update them yourself, and check that your payment gateway supports thousand toman first. Search engines get prices in rials, because they don't accept toman. Before you deactivate Persian Kit, switch the currency back to toman or rial.<\/p><\/dd>\n<dt id=\"can%20products%20without%20a%20price%20show%20%22call%20for%20price%22%3F\"><h3>Can products without a price show \"Call for price\"?<\/h3><\/dt>\n<dd><p>Yes. Under WooCommerce &gt; Prices and currency, tick \"Show a text instead of an empty price\", and leave the price empty on the products sold on request; a price of 0 means free. The product page shows \u00ab\u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f\u00bb or your own text, and the shop, categories and related products can have a shorter one. Add a phone number or a contact page address to link the text on the product page to it, and to turn the shop button into \"Call for price\". These products still can't be added to the cart.<\/p><\/dd>\n<dt id=\"does%20persian%20kit%20work%20with%20yoast%20seo%20and%20rank%20math%3F\"><h3>Does Persian Kit work with Yoast SEO and Rank Math?<\/h3><\/dt>\n<dd><p>While the relevant integration is enabled and its plugin is active, supported product structured-data amounts in IRT, IRHT and IRHR are converted to IRR. Other currencies stay unchanged, and machine dates in supported schema, Open Graph and sitemap output remain Gregorian. Date archive titles name the Jalali month. With Persian digits on, the browser tab's title gets Persian digits, while the titles in Open Graph tags and schema keep the digits you typed. Test your actual theme and SEO extensions; these integrations are not a guarantee for every output.<\/p><\/dd>\n<dt id=\"does%20persian%20kit%20work%20with%20wpml%20and%20polylang%3F\"><h3>Does Persian Kit work with WPML and Polylang?<\/h3><\/dt>\n<dd><p>Yes. Once a language is set up, Persian, Pashto and Kurdish pages and emails get Jalali dates and Persian digits, and pages in other languages keep Gregorian dates and English digits. Admin screens follow each admin's own language (Users &gt; Profile &gt; Language). Fixing letters, Persian slugs and the half-space key apply to Persian content only, so an Arabic translation keeps its \u064a and \u0643. With Jalali dates in post links, only Persian posts get Jalali links.<\/p>\n\n<p>Weglot isn't supported: it translates finished pages and keeps the site's language, so Persian Kit can't tell its languages apart. TranslatePress and other plugins that change WordPress's language per page can turn this on with <code>add_filter('persian_kit_multilingual', '__return_true');<\/code>.<\/p><\/dd>\n<dt id=\"does%20persian%20kit%20work%20with%20contact%20form%207%20and%20acf%3F\"><h3>Does Persian Kit work with Contact Form 7 and ACF?<\/h3><\/dt>\n<dd><p>Yes. Each turns on by itself when the plugin is active (Integrations tab). Contact Form 7's date fields and ACF's Date Picker and Date Time Picker fields get a Jalali date picker. The dates are still saved and sent as Gregorian dates, while code that parses a formatted ACF value should use its unformatted value or the documented opt-out filter; while Jalali dates is on, Contact Form 7 emails and ACF values in templates show the Jalali date. Contact Form 7 also gets [mobile_ir], [national_id], [postcode_ir], [card_ir] and [iban_ir] fields that check what is typed, with buttons for them in the form editor.<\/p><\/dd>\n<dt id=\"does%20persian%20kit%20work%20with%20forminator%3F\"><h3>Does Persian Kit work with Forminator?<\/h3><\/dt>\n<dd><p>Yes, from Forminator 1.50. Date fields in the Calendar style get a Jalali date picker and still save Gregorian dates, so entries and exports are unchanged; while Jalali dates is on, emails and the Submissions screen show the Jalali date. For Iranian checks, add a class to a field's \"Additional CSS Classes\": persian-kit-mobile, persian-kit-national-id, persian-kit-postcode, persian-kit-card or persian-kit-iban. Persian digits typed into phone and number fields become English digits.<\/p><\/dd>\n<dt id=\"does%20persian%20kit%20work%20with%20gravity%20forms%3F\"><h3>Does Persian Kit work with Gravity Forms?<\/h3><\/dt>\n<dd><p>Yes, from Gravity Forms 2.9. Date fields get a Jalali date picker, or Jalali number boxes and drop-downs, and still save Gregorian dates, so entries, exports and add-ons are unchanged; while Jalali dates is on, the Entries screens, emails and confirmations show the Jalali date. The form editor's Add Fields panel has an \"Iranian fields\" group with mobile number, national ID, postcode, bank card number and IBAN fields that check what is typed. The Address field gets an \"Iran\" type with the provinces in Persian, and the currency setting gets toman and rial. Persian digits typed into phone, number, date and price inputs become English digits.<\/p><\/dd>\n<dt id=\"does%20persian%20kit%20work%20with%20wpforms%3F\"><h3>Does Persian Kit work with WPForms?<\/h3><\/dt>\n<dd><p>Yes, from WPForms 1.9.1, including WPForms Lite. The builder's Add Fields panel has an \"Iranian fields\" group with mobile number, national ID, postcode, bank card number and IBAN fields that check what is typed, and a Jalali date field with a Jalali date picker; emails show the Jalali date. Persian digits typed into number and price inputs become English digits. WPForms' paid Date \/ Time, Phone and Address fields are not covered yet.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20forms%20if%20i%20turn%20an%20integration%20off%3F\"><h3>What happens to my forms if I turn an integration off?<\/h3><\/dt>\n<dd><p>They keep working. While the Contact Form 7 integration is off, its Iranian fields are plain text inputs that accept any text; the settings page names the forms that use them before you save. Forminator fields with a persian-kit class become plain Forminator fields, and its card names those forms too. Gravity Forms' Iranian fields become plain text inputs, and its Iran address type and toman and rial stay. WPForms' Iranian and Jalali date fields become plain text inputs. If you deactivate Persian Kit itself, Contact Form 7 shows tags such as [national_id your-id] as text, Gravity Forms shows its Iranian fields without an input, and WPForms leaves its Iranian and Jalali date fields out, so replace them first.<\/p><\/dd>\n<dt id=\"can%20customers%20enter%20a%20village%3F\"><h3>Can customers enter a village?<\/h3><\/dt>\n<dd><p>Yes. With the city list on, the city field suggests the province's cities, but customers can still type a village or any place that isn't listed.<\/p><\/dd>\n<dt id=\"does%20the%20city%20list%20find%20a%20city%20typed%20another%20way%3F\"><h3>Does the city list find a city typed another way?<\/h3><\/dt>\n<dd><p>Yes. It ignores spaces and half-spaces and the letters people type differently, such as Arabic \u064a and \u0643, \u0626 and \u06af: \u0642\u0627\u0626\u0645\u0634\u0647\u0631 finds \u0642\u0627\u06cc\u0645 \u0634\u0647\u0631 and \u0645\u0634\u06a9\u06cc\u0646 finds \u0645\u0634\u06af\u06cc\u0646 \u0634\u0647\u0631. When the order or address is saved, a city typed another way is saved under its listed name, so orders use one spelling. A place that isn't listed is saved as typed. To add villages, rename or remove a city, use the persian_kit_woocommerce_cities filter.<\/p><\/dd>\n<dt id=\"where%20does%20the%20list%20of%20cities%20come%20from%3F\"><h3>Where does the list of cities come from?<\/h3><\/dt>\n<dd><p>From the Statistical Centre of Iran's country-divisions list for 1403 (amar.org.ir): the 1,454 cities of its 31 provinces.<\/p><\/dd>\n<dt id=\"i%20use%20parsi%20date%2C%20persian%20woocommerce%20or%20persian%20woocommerce%20shipping.%20can%20i%20switch%3F\"><h3>I use Parsi Date, Persian WooCommerce or Persian WooCommerce Shipping. Can I switch?<\/h3><\/dt>\n<dd><p>Yes. Persian Kit &gt; Tools &gt; Switch from another plugin shows what Persian Kit does with each of the plugin's settings and data before anything changes. Then deactivate the plugin with WordPress's own link (Persian Kit never deactivates another plugin) and import: settings, widgets and blocks, ACF dates, Iranian provinces and cities in customers, orders, zones and the store address, and the shipping plugin's order statuses. Old Jalali post links keep working. The report lists what could not be imported, and undo puts back what hasn't changed since. It works after the plugin was deleted too, from the data it left, and from WP-CLI: <code>wp persian-kit import list<\/code>.<\/p><\/dd>\n<dt id=\"what%20can%27t%20the%20switch%20bring%20over%3F\"><h3>What can't the switch bring over?<\/h3><\/dt>\n<dd><p>Payment gateways (Persian Kit has none; keep Persian WooCommerce active for them with its overlapping options off), the shipping plugin's shipping methods, per-city prices, map and text messages, and settings Persian Kit has no match for yet, which the report lists. Theme code that calls Parsi Date's functions needs the code the switch gives you, in your theme's functions.php.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Changed: Persian Kit is made by Eram. The plugin homepage and the Docs links now open the guides on eram.dev.<\/li>\n<li>Changed: the settings page no longer shows notices from WordPress and other plugins above its header. Other admin pages still show them.<\/li>\n<li>Faster: the Jalali archives list keeps its post counts between page views, ACF screens load the date picker only where a date field is shown, and the checkout city list is about 2.5 times smaller.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: the admin font now covers headings, the admin bar, footer, media library, classic editor tabs, WooCommerce settings, the block editor and Analytics.<\/li>\n<li>Added: complete English and Persian guides, developer references and navigation for the shared Eram website.<\/li>\n<li>Improved: documentation checks and explanations of settings, stored-data changes, migration recovery and compatibility limits.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>The first stable release.<\/li>\n<li>New: WPForms support, also in WPForms Lite: an \"Iranian fields\" group (mobile number, national ID, postcode, card number, IBAN) and a Jalali date field.<\/li>\n<li>New: Gravity Forms support: Jalali dates in Date fields in all three styles and in entries, emails and confirmations, an \"Iranian fields\" group, an Iran address type, and toman and rial.<\/li>\n<li>New: Jalali dates in WooCommerce Analytics: Jalali months, seasons and years, a Jalali calendar for custom ranges, and a Jalali date column in CSV exports.<\/li>\n<li>New: Afghan and Kurdish month names (Dari, Pashto and Sorani Kurdish), chosen by the site's language or by hand, also on multilingual sites.<\/li>\n<li>New: optionally, the Gregorian date next to post and comment dates: \u06f1\u06f0 \u0645\u0647\u0631 \u06f1\u06f4\u06f0\u06f5 (2026-10-02).<\/li>\n<li>The switch from Parsi Date also imports its month names, dual date and Analytics settings.<\/li>\n<li>Persian Kit now needs WordPress 6.8 and WooCommerce 9.9 or newer.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.6<\/h4>\n\n<ul>\n<li>New: a guided switch from Parsi Date, Persian WooCommerce and Persian WooCommerce Shipping on the Tools tab. Review shows what happens to each setting, link and kind of data before anything changes; the import brings over settings, widgets and blocks, ACF dates, Iranian provinces and cities, and the shipping plugin's order statuses, with a report and undo. Also from WP-CLI: <code>wp persian-kit import<\/code>.<\/li>\n<li>New: \"Call for price\" (\u062a\u0645\u0627\u0633 \u0628\u06af\u06cc\u0631\u06cc\u062f) in place of an empty WooCommerce price, with its own text for the shop and an optional phone number or page to link to.<\/li>\n<li>New: a shorter WooCommerce checkout when every item is virtual: name, country, phone and email, and the national ID when it's on.<\/li>\n<li>New: a Persian font in WooCommerce emails in Persian, from the fonts already on computers and phones, and block emails that read right to left on RTL sites.<\/li>\n<li>Old Jalali post links keep working with Jalali dates off.<\/li>\n<li>Persian digits also in the browser tab's title, archive titles, widgets, menus, category and tag lists, and WooCommerce short descriptions.<\/li>\n<li>WooCommerce city suggestions are the plugin's own list, work with the keyboard and screen readers, and find a city however it is typed.<\/li>\n<li>Multilingual sites: the Jalali calendar, admin month filters and old links follow the current language.<\/li>\n<li>Plainer, more consistent Persian translation.<\/li>\n<li>Fixed: titles with a dash, quote or <code>&amp;<\/code> showed broken characters with Persian digits on.<\/li>\n<li>Fixed: Yoast SEO's JSON-LD and Rank Math's breadcrumbs no longer get Persian digits.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.5<\/h4>\n\n<ul>\n<li>Contact Form 7, ACF, WooCommerce, Forminator, Yoast SEO, Rank Math, WPML and Polylang are integrations on their own Integrations tab, each on by itself when its plugin is active. WooCommerce has its own tab.<\/li>\n<li>Forminator: a Jalali date picker for Calendar date fields, checks for Iranian mobile numbers, national IDs, postcodes, card numbers and IBANs with a persian-kit class, and English digits in phone and number fields. Emails and the Submissions screen show Jalali dates.<\/li>\n<li>Contact Form 7: a Jalali date picker for [date] fields, and [mobile_ir], [national_id], [postcode_ir], [card_ir] and [iban_ir] fields with buttons in the form editor. ACF: a Jalali date picker for Date Picker and Date Time Picker fields.<\/li>\n<li>WooCommerce checkout for Iran: digits and letters fixed as customers type, checked phone numbers and postcodes, an optional national ID field, a city list per province, and a choice of the provinces you deliver to.<\/li>\n<li>WooCommerce: thousand toman and thousand rial currencies, prices in rials for search engines, Persian digits in order emails (optional), and the Jalali date picker on order, product and coupon dates.<\/li>\n<li>Yoast SEO and Rank Math: prices in rials in their schema, and Jalali month names in date archive titles.<\/li>\n<li>Multilingual sites (WPML, Polylang): dates, digits and the Persian writing tools follow each page's and each post's language.<\/li>\n<li>The post date in the classic editor and Quick Edit uses the Jalali date picker.<\/li>\n<li>Fixing letters on save also covers comments, terms and menu items; an optional half-space fix on save; search matches numbers typed in either digits.<\/li>\n<li>The admin font can be Noto Sans Arabic or IBM Plex Sans Arabic as well as Vazirmatn.<\/li>\n<li>The settings page has tabs, a short line for each option in English and Persian, and a new look.<\/li>\n<li>Fixed: with Persian slugs, a post reached by its ID could redirect to a broken address.<\/li>\n<li>Fixed: a cut-off post address under a Jalali date now redirects to the post, as WordPress does for Gregorian dates.<\/li>\n<\/ul>\n\n<h4>1.0.0-beta.4<\/h4>\n\n<ul>\n<li>Jalali date archive pages: \/1405\/07\/ lists the posts of Mehr 1405, \/1405\/ those of the Jalali year and \/1405\/07\/09\/ those of one day. Gregorian archive addresses keep working.<\/li>\n<li>The Archives and Calendar widgets and blocks list Jalali months and days and link to the Jalali archive pages. An option keeps them Gregorian.<\/li>\n<li>Optional Jalali dates in post permalinks (\/1405\/07\/09\/my-post\/). Old links redirect to the new ones, and back again if the option is turned off.<\/li>\n<li>The block editor shows the Jalali date as a \"Publish\" row of its own, also in the pre-publish and post-publish panels, and \"Now\" uses the site's time.<\/li>\n<li>Fixed: the REST API's <code>date_jalali<\/code> and <code>date_modified_jalali<\/code> were empty when a request asked for them with <code>_fields<\/code> but not for <code>date<\/code> or <code>modified<\/code>.<\/li>\n<li>Persian (fa_IR) admin interface, used until a WordPress.org language pack is available.<\/li>\n<li>New installs start with Persian digits and fixing letters on save off, and show a short welcome that explains each module. Existing sites keep their settings.<\/li>\n<li>Search finds words typed with either Arabic (\u064a \u0643) or Persian (\u06cc \u06a9) letters, without changing content.<\/li>\n<li>Persian digits can also apply to Jalali dates, counts and WooCommerce prices, each with its own option.<\/li>\n<li>Fixing existing posts asks for confirmation, can count first without changing anything, and lets you choose post types.<\/li>\n<li>Fixed: date pickers allowed 30 Esfand in non-leap years (30 Esfand 1404 was saved as 1 Farvardin 1405).<\/li>\n<li>Fixed: options added in an update showed as off on the settings screen while running, and saving turned them off.<\/li>\n<li>Fixed: date archive titles named only one Jalali month, and date links built from Jalali dates led to \"not found\" pages.<\/li>\n<li>Fixed: the compatibility guidance never appeared next to Persian WooCommerce.<\/li>\n<li>Fixed: filters added in a theme's functions.php had no effect.<\/li>\n<li>Network activation sets up every site, including sites added later.<\/li>\n<li>Switched core utilities to the <code>eram\/abzar<\/code> (0.8) and <code>eram\/daynum<\/code> (1.0.0-beta.3) libraries.<\/li>\n<li>PHP helper functions for developers, all named <code>persian_kit_*<\/code>, including <code>persian_kit_currency_format<\/code>, <code>persian_kit_currency_convert<\/code>, <code>persian_kit_words_to_number<\/code>, <code>persian_kit_validate_postal_code<\/code>, <code>persian_kit_validate_plate_number<\/code>, <code>persian_kit_validate_bill_id<\/code>, <code>persian_kit_half_space_fix<\/code>, <code>persian_kit_keyboard_fix<\/code>, <code>persian_kit_persian_sort<\/code>.<\/li>\n<li>Persian slugs turn a half-space (ZWNJ) into <code>-<\/code>. Slugs saved by earlier versions keep working, and posts created before activation load again.<\/li>\n<li>Latin slugs and WooCommerce attribute names (<code>pa_color<\/code>) are left to WordPress, which fixes attributes being renamed to <code>pa-color<\/code>.<\/li>\n<li>Fixed: feeds (RSS, Atom) showed Jalali dates.<\/li>\n<li>Fixed: post and comment times were off by the site's timezone offset, so late-evening comments showed the next day.<\/li>\n<li>Fixed: drafts showed year \u22121, and the dashboard Activity widget and WooCommerce dates added the timezone offset twice.<\/li>\n<li>Fixed: <code>the_date()<\/code> printed the date for every post instead of once per day.<\/li>\n<li>Digit conversion no longer runs in the admin, REST API, feeds, or on text filtered while <code>wp_mail<\/code> runs. Email content rendered before <code>wp_mail()<\/code> is called is still converted.<\/li>\n<li>WooCommerce: one Jalali month filter per orders screen (HPOS and legacy); declared HPOS compatibility.<\/li>\n<li>The admin font loads only for Persian or right-to-left admin languages.<\/li>\n<li>Batch normalization no longer resumes by itself when the settings page opens; WP-CLI and the settings page share progress.<\/li>\n<li>Uninstalling removes all Persian Kit options, on every site in a network.<\/li>\n<li>All interface text is translatable, including JavaScript strings.<\/li>\n<li>Added Jalali media library date filters.<\/li>\n<\/ul>","raw_excerpt":"Jalali (Shamsi) dates, Persian digits, an Iranian WooCommerce checkout and Iranian form fields. \u062a\u0642\u0648\u06cc\u0645 \u062c\u0644\u0627\u0644\u06cc \u0641\u0627\u0631\u0633\u06cc \u0648 \u0648\u0648\u06a9\u0627\u0645\u0631\u0633 \u0627\u06cc\u0631\u0627\u0646.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/381216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=381216"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kashani"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=381216"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=381216"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=381216"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=381216"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=381216"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=381216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}