WP Manifestindependent plugin directory
manifest / builders / pars-elementor

Pars Elementor

Professional Elementor addons for Persian and global WordPress sites: native booking, OTP forms, design system, RTL and Jalali.

by Alireza Aminzadeh · github.com/alireza-aminzadeh/pars-elementor · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/alireza-aminzadeh/pars-elementor/archive/refs/heads/main.zip

Readme

Pars Elementor — Professional tools for Persian and global sites

Pars Elementor

Professional tools for Persian & global Elementor sites
Native booking engine · Conditional forms & OTP · Design system · RTL, Jalali & international

English · فارسی

Version WordPress PHP Elementor License Languages

Version 1.23.0
Author Alireza Aminzadeh
Website ariacoder.ir · aryait.net
WordPress 6.8+ (tested up to 7.1)
PHP 7.4+
Elementor 3.20+ (tested up to 4.2.3, including Atomic Editor)
License GPL v2 or later
Languages English (source strings) · فارسی (fa_IR, bundled)
Requires plugins Elementor

WordPress.org uses the companion readme.txt. This file is the product and developer guide.


English documentation

Why Pars Elementor

Pars Elementor is not a pack of decorative widgets. It is a bilingual Elementor addon whose modules share one stack: native Elementor design, dedicated database tables, guest-first flows, OTP and Iranian SMS, WooCommerce as an optional payment adapter, and Jalali / RTL / Persian digits without locking the product to Iran.

The editor UI follows the WordPress site language. When Elementor is active, a Pars Elementor category appears with the registered widgets.


Elementor widgets

When Elementor is active, these widgets appear under the Pars Elementor category:

Widget Role
Starter Onboarding / sample widget
Search Ajax live search with drag-and-drop sources
Advanced Filter Faceted Ajax filters on a dedicated index
Form Conditional multi-step forms with OTP
Booking Native appointment engine
Quote calculator Live pricing, proforma, deposit
B2B product CTA Selling-mode overlay on WooCommerce SKUs
B2B inquiry list Parallel RFQ list (not the cart)
B2B product documents Datasheets and gated files
B2B alternatives Equivalent / replacement products
B2B compare Side-by-side industrial compare
Secure Content Gated files, video, and HTML with signed links
Locator Branches, agencies, and service centers on a map
Privacy video Click-to-load YouTube / Vimeo
Media image Focal point and optional mobile image
SVG icon Sanitized SVG / sprite icon
Remote Data REST/JSON cards, table, chart, Loop
Account Login, registration, forgot password
Account profile Profile completion and verification
Account dashboard Designable member dashboard
Account activity Activity list for a custom dashboard
Account visibility Show or omit HTML by identity
A/B split Cache-safe experiment arms
Campaign countdown Real end-time countdown
Modal, Drawer, Dropdown, Tabs, Accordion, Tooltip, Toast, Stepper Accessible Component States

Requirements

  • WordPress 6.8 or later (tested up to 7.1)
  • PHP 7.4 or later
  • Elementor 3.20 or later (required plugin; tested with 4.2.3, including Atomic Editor)
  • WooCommerce only if you charge Iranian rial (or other local-only currencies) through installed shop gateways. Stripe and PayPal run from Pars Global Pack without WooCommerce.

Modules

Module Role Status
Core Bilingual bootstrap, admin dashboard, Elementor category Available
Pars Global Pack Shared international layer: E.164 phones, timezone/DST, Stripe/PayPal, Twilio/WhatsApp (via Connect), Google/Outlook calendars, address and date formats Available
Search Ajax live search across post types and taxonomies Available
Booking Appointment engine with flow builder, not a calendar shortcode Available
Quote calculator Conditional live pricing, guest inquiries, proforma, deposit or full pay Available
B2B commerce Selling-mode overlay on WooCommerce SKUs: RFQ list, call, MTO, hybrid, login-gated, coming soon, EOL — Quote handles price/deposit/order Available
Pars Secure Content Gated files, videos, and HTML: form unlock, signed links, expiry, download caps, role or purchase access, private storage, email delivery, GA4 and Connect Available
Pars Locator Branches, agencies, and service centers on a map Available
Accounts Login, registration, profile, protected pages, designable dashboard Available
Forms & OTP Conditional multi-step forms; shared identity for booking and CRM Available
Pars Audit Real quality, accessibility, and Elementor document checks Available
Pars Update Guard Before/after screenshots around plugin updates; layout, font, spacing, JS/PHP, deprecated widgets Available
Safe Edit & Dependency Map Where templates, colours, fonts, classes, and widgets are used; preview, snapshot, replace, restore Available
Deploy & Package Move pages, templates, or a single section between sites with media, used globals, plugin report, preview, overwrite protection, and restore Available
Pars Design System Tokens, classes, presets, brand locks, leftover migrate, style guide, kit transfer — controls Elementor globals, does not replace them Available
Client Mode Restricted Elementor for delivered sites: locks, approval queue, edit history, white label Available
Pars Review Guest design-review links: pin comments on the live page, mobile/desktop separately, open/in-progress/resolved, image attach, page version, final approval, change report, expiry, white label Available
Advanced Filter Faceted Ajax filters for shops, directories, real estate, and industrial catalogues Available
Track & A/B First-party events, GA4/GTM, UTM persistence, Consent Mode, cache-safe A/B with sequential stats Available
Remote Data REST/JSON sources, field mapping, auth, cache, pagination, fallback, table/card/chart/Loop Available
Programmatic Pages Data-driven SEO pages from CSV, Excel, API, or Google Sheets, mapped onto an Elementor template with quality gates, JSON-LD, per-row robots, and hub/spoke links Available
Pars Connect Shared connection hub: webhooks, REST, Make/Zapier/n8n, SMTP, Iranian SMS, Twilio, WhatsApp, Telegram, Google Sheets Available
Asset Policy Unload scripts and styles per post type, archive, and taxonomy. Presets, bulk by source, guest preview with request/KB totals. Rules inherit; dequeue only Available
Media & Privacy Click-to-load YouTube/Vimeo, youtube-nocookie, map consent, local fonts, SVG sanitize/sprite, per-page third-party report — not a cache or image optimizer Available
Pars Rules Shared condition engine: server-side show/hide for forms, quotes, Account visibility, and scheduled content (time + UTM) Available
Content schedule Start/end, daily or weekly hours, timezone, UTM, campaign countdown, popup windows, fallback after end, cache-safe flips, activation history — compiled to Pars Rules Available
Component States Modal, Drawer, Dropdown, Tabs, Accordion, Tooltip, Toast, Stepper — keyboard, focus, ARIA, RTL, deep link, history, loading/error/empty, dynamic content, conditional open/close. Iranian extras are adapter packs Available
Pars Iran Pack Shared Iranian localisation: Jalali display, Persian digits, mobile/ID/Sheba/postal checks, province and city, official holidays, SMS/map/gateway status. Storage stays international Available

Core

  • English source strings and bundled Persian translation (/languages)
  • Plugin UI follows the WordPress locale (no separate language switcher)
  • Admin dashboard under Pars Elementor with environment and widget status
  • Settings link on the Plugins screen
  • Assets load only when the related module or widget is used
  • PSR-4 autoload under Pars_Elementor\
  • Activation, deactivation, and uninstall hooks; tables and options are versioned

Pars Global Pack

Shared international layer used by Booking, Quote, Forms, Locator, and Identity. It is not a widget and not a second Connect: Twilio and WhatsApp credentials stay in Pars Connect; Global Pack picks the connection and always sends E.164.

Capabilities

  • E.164 mobiles: national numbers are stored as + and digits using the default country; Iranian strict mobile stays in Pars Iran Pack
  • Timezone and DST: IANA zones; spring-forward gaps reject booking slots; UTC storage
  • Stripe Checkout and PayPal Orders v2 with signed webhooks; IRT/IRR always WooCommerce
  • Twilio SMS and WhatsApp via the selected Pars Connect connection
  • Calendars: ICS plus Google / Outlook / Microsoft 365 template URLs for guests; optional OAuth staff sync
  • Addresses and dates: country field order, postal patterns, and date examples

Open Pars Elementor → Global Pack. Webhook URLs: /wp-json/pars-elementor/v1/global/webhooks/stripe and …/paypal.


Search

Ajax search widget. The site admin chooses which content is searchable and in which order.

Content sources

The editor control lists every public post type and its taxonomies. Typical sources:

  1. Posts and their taxonomies
  2. Pages and page taxonomies (when they exist)
  3. Products and product taxonomies (WooCommerce)
  4. Any other public custom post type

Capabilities

  • Enable or disable each post type and taxonomy from the widget
  • Drag-and-drop order of post types and taxonomies in the results
  • Optional featured image in results
  • Ajax search and grouped live results (no full-page reload)
  • Dedicated results page (?pars_s=) that keeps the same post types and taxonomies as the widget (pars_src)
  • Submit, “view all”, or a result click can open that page; live typing is never logged
  • Saved searches: unique visitor queries stored in a dedicated table
  • Admin submenu Saved Searches under Pars Elementor
  • Configurable retention (how many unique queries to keep; 0 turns logging off)
  • Per-widget switch to store completed searches (submit, view all, or a result click)

Booking

Treat this as an appointment engine, not a calendar widget dropped into a shortcode.

Independent policy axes

These three settings are independent of each other:

Axis Options
Payment Off · On-site · Full online
Account None (guest) · Optional · Required
Contact None · Email · Mobile · Either · Both · From profile

Guest booking is the default. Fully anonymous booking is allowed only when no payment is collected. Payment without any contact or account is blocked, because confirmation, cancel, reschedule, and refund would be impossible. Anonymous bookings still receive a secure booking code.

Flow builder

The site manager can enable, disable, or reorder steps instead of hunting through scattered options:

  1. Service
  2. Location (branch)
  3. Provider, or “any”
  4. Date
  5. Time
  6. Customer details
  7. Email or mobile OTP
  8. Login or create account
  9. Payment
  10. Confirmation

Starter patterns: free guest, paid guest, member, paid member, create account after booking, fully anonymous.

Services and scheduling

  • Services with duration and price
  • Staff / providers
  • Weekly working hours
  • Holidays and date exceptions
  • Buffer before and after each appointment
  • Minimum notice before booking
  • Maximum bookable horizon
  • Concurrent-booking protection
  • Capacity per time slot
  • Automatic confirmation or manual approval

Customer data

  • Email, mobile, either, or both
  • Custom fields
  • Terms and privacy acceptance
  • Email or mobile verification
  • Prefill for logged-in users
  • Guest booking
  • Optional account after booking (passwordless OTP when enabled)
  • Manage, cancel, and reschedule through a signed link without an account

Payments (first version)

  • No payment
  • Pay on site
  • Full online payment
  • Optional WooCommerce adapter so Iranian and international gateways already installed on the shop can be reused

The engine does not depend on WooCommerce. The shop is only a payment adapter.

Payments (later versions)

  • Fixed or percentage deposit
  • Remaining balance
  • Discount codes
  • Refunds
  • Pay-again link
  • Cancellation penalty policy

Iran

  • Jalali and Gregorian display
  • Times stored in a standard form (UTC); Jalali is display-only
  • Correct Asia/Tehran handling
  • Persian and Latin digits
  • Real RTL on every step and error message
  • ZarinPal and other gateways preferably through WooCommerce
  • SMS adapter for Iranian providers
  • Mobile OTP login and verification
  • Configurable official holidays and working days
  • Iranian mobile format with E.164 storage

Read the full README on GitHub →