Most WordPress task manager plugins bolt a SaaS product onto your database: custom tables, frontend scripts, sync services, monthly fees. The Task Manager module in Dynamic Functionalities takes the opposite route. It’s a file-based task management system that lives entirely inside your WordPress admin and stores every project as a plain JSON file.
I use it for editorial checklists and site maintenance punch lists. The whole thing has zero frontend footprint: no CSS, no JavaScript, no database queries on any public page. If you close the admin tab, the module is effectively dormant.

How It Works
Task Manager stores each project as one JSON file inside wp-content/functionalities/tasks/. No custom database tables, no postmeta bloat, nothing to migrate. Copy the folder and you’ve backed up every project.
wp-content/
└── functionalities/
└── tasks/
├── index.php # blocks directory listing
├── .htaccess # Apache-level protection
├── editorial.json # one project
└── site-redesign.json # another projectLike every module in the plugin, it’s off by default. Flip the “Enable Task Manager” toggle at the top of the module page and the project grid appears.
Smart Syntax for Fast Entry
The fastest way to organize tasks is to type the metadata straight into the task text. The parser picks it up automatically:
#hashtagsbecome clickable tags:Fix contact form #backend #urgent!1marks high priority (red):!1 Patch the login redirect!2marks medium priority (yellow):!2 Update plugin screenshots!3marks low priority (blue):!3 Reword footer credits
Every task also accepts free-form notes, so context lives with the task instead of in a separate doc.
Projects: Create, Import, Export
Projects display as a card grid with progress at a glance. Create a project with a unique slug, export any project as a JSON file for backup or hand-off, and import a JSON file to restore it on another site. I move checklists between staging and production this way instead of recreating them.
One detail worth knowing: the import, export, and delete actions keep working even while the module toggle is off. Since version 1.4.6 the AJAX handlers register whenever you’re in the admin, so disabling the module never strands your existing projects.
The Dashboard Widget
Any project can be pinned to the main WordPress Dashboard as a widget. You get a progress bar, the pending task count, and priority indicators without opening the module. For recurring maintenance checklists, that’s usually the only view I need.
Security
File-based storage raises fair questions, and the module answers them directly:
- Capability check: every screen and action requires
manage_options - Nonce verification: all AJAX requests are validated
- Path traversal prevention:
realpath()confirms every file stays inside the tasks directory - Direct access block:
index.phpand.htaccessshield the folder - WP_Filesystem API: all writes go through WordPress core’s filesystem layer, not raw PHP file calls
When to Use It
Task Manager replaces a Trello board or a Notion page for site-scoped work, not your whole project management stack. If you run client work across many sites, a dedicated tool still wins; my comparison of time tracking tools for freelancers covers that side. For tasks that belong to one WordPress site, keeping them inside that site’s admin, versioned as JSON, is the simpler system. Next up: the Redirect Manager, the module with the best performance story in the whole Functionalities plugin.