
Persian Project Management adds a complete project workspace inside the WordPress admin. It is built for Persian/Farsi teams: right-to-left layout, Vazirmatn typography, Jalali date pickers, and a Saturday-first work calendar — while dates stay Gregorian Y-m-d in the database for APIs and exports.
There is no frontend UI, no shortcode, and no Gutenberg block. Open مدیریت پروژه in the admin menu after activation.
مخزن وردپرس / گیتهاب: افزونه فضای مدیریت پروژه را داخل پیشخوان میآورد (پروژه، وظیفه، کانبان، تقویم شمسی، داشبورد و CSV). رابط فرانت، شورتکد و بلوک ندارد.
Why use it
- Stay in WordPress instead of a separate PM tool.
- Custom tables (
ppm_projects,ppm_tasks) instead of posts, with explicit schema anddbDeltaupgrades. - Granular capabilities: view projects, manage projects, manage tasks (Administrator gets them on activation).
- Optional organization branding (logo, name, tagline) and per-screen background colors.
Dashboard
- User name and WordPress role.
- Quick search that opens the projects list.
- Shortcuts to projects, tasks, new project (if allowed), and team Kanban.
- KPI cards: all projects (including archived), active projects plus “created this month”, overdue (past end date), active projects without an owner, and a budget/spend card (fill via the
ppm_projects_total_budget_displayfilter; otherwise it stays empty). - Deadline alerts for projects ending in the next 7 days (overdue vs upcoming labels).
- Chart.js analytics: status distribution, active projects per owner (top 8), 12-month created vs completed trend, open vs closed tasks, plus average progress of active projects.
- Activity lists: your owned projects, recent open tasks, recently updated projects.
- CSV export of projects for managers.
Projects
- Create, edit, view, archive, delete (nonce-protected). Bulk archive. Unique slug from the title.
- Statuses: draft, planning, in progress, on hold, completed. Owner, start/end dates, progress 0–100, category, tags.
- Grid and list views (preference remembered in the browser). Grid cards show
#PRJ-xxx, status, a five-step progress visual, progress bar, owner, due date. - Search by title. Filters: status, category, owner (including unassigned), end-date range, archived / not archived / all. Sortable columns. Open-task count. Screen option for rows per page (default 20).
- Row actions: view, tasks, edit, archive, delete, copy edit link.
- KPI strip and deadline alerts on the projects screen as well.
- CSV export (UTF-8 with BOM, current filters, up to 5000 rows): id, title, status, owner, dates, progress, category, tags, archived.
- Deleting a project also deletes its tasks.
Project notebook (new / archive / resources)
- Multi-step new project flow: identity, five PM phases (initiation closing) with Jalali pickers, team members with optional role labels, logo and brand colors, media attachments.
- Save as draft (untitled drafts allowed) or confirm and create. Empty start/end dates can be filled from phase dates.
- Archive notebook: browse archived projects, search, pagination, link to the filtered table.
- Resources notebook: WordPress users who can view or manage projects (avatar, role, email).
- View-only users see read-only summaries of extended fields on the project screen.
Tasks
- Hidden tasks screen (linked from dashboard, project rows, Kanban, calendar). Filter by project.
- Quick add (title + optional due date) when a project is selected.
- Open / closed, Kanban column, optional due date. Close or delete with nonces. 20 rows per page.
Team Kanban
- One board of open tasks across non-archived projects.
- Up to 12 columns (keys, titles, per-column quick-add). Defaults: waiting, in progress, review. Removing a column moves its open tasks to the first remaining column.
- Drag and drop (jQuery UI Sortable + AJAX). Click a card to edit title, project, and due date, or delete.
- Quick-add composer per column: project, title, due date.
- Cards show project tag, project progress, due date, link to that project’s tasks.
- Optional backdrop: solid color, image, or image with a color overlay. Reset from Settings.
- Users who can view the board can move/edit/delete cards. Saving column layout requires manage-tasks. GET fallbacks exist if JavaScript is blocked.
Work calendar
- Merges project date ranges and open task due dates.
- Jalali or Gregorian month view (preference remembered). Iranian week: Saturday first.
- Previous / today / next month, type filter (all / projects / tasks), project filter.
- Day details sidebar, color legend (in progress, planning, overdue project, task, overdue task).
- REST:
GET /wp-json/ppm/v1/calendar-events(from,to, optionalproject_id,types). Permission:ppm_view_projects. Admin-ajax fallbackppm_calendar_eventswhen REST or permalinks are awkward. - Backend storage remains Gregorian
Y-m-d.
Settings
Three tabs (saving requires manage-projects; viewing the screen requires view-projects):
- Sidebar — show/hide the in-plugin nav per screen; logo (Site Icon / WordPress logo fallback); organization name; tagline.
- Kanban — board background color and image; reset.
- Screens —
#wpbody-contentbackground per plugin admin page; clear all colors.
A brand banner (logo + name + tagline) appears across plugin screens.
Security
- Capabilities:
ppm_manage_projects,ppm_view_projects,ppm_manage_tasks. - Nonces on forms, AJAX, and CSV export.
wp_ajax_*only (no logged-out AJAX). REST calendar requires a logged-in user with view permission. - Attachment IDs and user IDs are validated. Hex colors sanitized. Redirects use
wp_safe_redirect.
Developers
- Filter
ppm_projects_total_budget_display— string/HTML for the budget KPI (empty = dash / “connect finance”). - REST namespace
ppm/v1, routecalendar-events. - AJAX:
ppm_calendar_events,ppm_kanban_move_card,ppm_kanban_save_card,ppm_kanban_delete_card. - Options include
ppm_db_version(schema1.3.0),ppm_kanban_column_layout,ppm_kanban_appearance,ppm_sidebar_screens, logo/name/tagline,ppm_screen_backgrounds. - Text domain:
persian-project-management. Domain path:/languages. Default UI strings are Persian.
Not in this release
- Team and Reports admin menus are placeholders.
- No frontend, shortcode, or block.
- No built-in finance/budget storage (display filter only).
- No
uninstall.php: deactivation does not drop custom tables or options.
Bundled third-party assets (no CDN): Vazirmatn 33.003, Chart.js 4.4.1, persian-date 1.1.0, jalalidatepicker 0.9.5. See assets/vendor/.
Homepage: Aria Project Management. Author: Alireza Aminzadeh. Source: GitHub.