Linux 软件免费装

Ndizi Project Management

开发者 georgestephanis
更新时间 2026年6月18日 23:25
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

clients time tracking invoices project management tasks

下载

1.0.2 0.9.5.2 0.9.5.3 0.9.5.4 0.9.5.5 0.9.5.6 0.9.5.7 0.9.5.8 0.9.5.9 0.9.6 0.9.6.2 0.9.6.3 0.9.6.5 0.9.6.6 0.9.6.7 0.9.6.8 0.9.6.9 0.9.7.0 0.9.5.1 0.9.6.1 0.9.6.4 1.0.0 1.0.1

详情介绍:

Ndizi Project Management is a professional, native WordPress system built for freelancers, designers, and small agencies to coordinate client work, manage tasks, record project hours, and generate invoices—all inside a single WordPress environment. Source & development: The full, human-readable source (including the uncompressed src/ for every compiled asset) lives on GitHub at github.com/georgestephanis/plugins. Decoupling high-frequency data from standard WordPress posts storage, Ndizi records all time logs in a dedicated custom SQL table (wp_ndizi_time_entries). This architectural choice keeps your database queries fast and completely avoids wp_posts and wp_postmeta database inflation. Key Features

安装:

  1. Upload the ndizi-project-management folder to the /wp-content/plugins/ directory, or install it directly via the WordPress Admin Plugins dashboard.
  2. Activate the plugin. The database table wp_ndizi_time_entries and custom roles will be initialized automatically.
  3. Create a new WordPress Page for your client dashboard and add the Ndizi Client Portal block, or embed the [ndizi_client_portal] shortcode.
  4. Navigate to Ndizi PM -> Clients in your admin panel, register a new client, and generate a portal access key.

屏幕截图:

  • **Gantt Timelines**: Native project schedules mapping project milestones and task completion rates.
  • **Client Portal**: Responsive frontend client portal featuring glassmorphic style controls.
  • **Invoice Meta Box**: Aggregating un-invoiced project logs into line-item details with hierarchical billing rate resolution.

常见问题:

Can I try the plugin before installing it?

Yes. Use the Live Preview button on this page, or launch the demo directly in WordPress Playground. Either way you get a disposable, in-browser WordPress with Ndizi PM activated and seeded with sample clients, projects, tasks, invoices, and time entries (including a live running timer and a locked accounting period). It runs entirely in your browser and nothing is saved.

Where is the time tracking data stored?

High-frequency time entries (timer starts, stops, descriptions, and durations) are logged in the dedicated wp_ndizi_time_entries table. Relational objects like Projects and Tasks utilize standard Custom Post Types to maintain editing workflows, list filters, and default REST support.

Do clients need standard WordPress accounts to log in?

No. While standard WordPress accounts are fully supported, you can generate a private Client Auth Key for any Client CPT. Navigating to the client portal with ?ndizi_token=YOUR_KEY authorizes their session, setting a secure cookie that keeps them logged in.

How does the file attachment system in discussions work?

Discussion boards on tasks and projects utilize WordPress's native comments database but filter comments to only show portal discussions. If files are uploaded through the intake forms or discussion boxes, they are saved as secure media attachments in the uploads directory and associated with the comment meta.

How do managers construct invoices?

Inside any Invoice post, choose the parent Project. The dashboard will query the time logging database for all un-invoiced billable hours on that project. The billing rate for each time entry is resolved hierarchically: task-level override first, then the assigned user's default rate, then the project's default rate. Select the hours to include and the editor will aggregate the line items, calculate the total, and lock those time entries to the invoice.

What is the lock date used for?

The lock date (configured on the Settings page) prevents any time entry dated on or before that date from being created, edited, or deleted. Use it to protect finalized billing periods once invoices have been sent. The lock is enforced across the REST API, direct DB operations, and the admin UI.

How does the hierarchical billing rate work?

When generating an invoice or report, Ndizi resolves the billing rate in this order: (1) the task's own hourly rate override, (2) the assigned user's billing rate from their profile, (3) the project's default hourly rate. An explicit rate of 0.00 at any level is honored rather than falling through to the next tier, making it possible to mark individual tasks or projects as pro-bono.

Can I export time data for accounting software?

Yes. The Reports dashboard has an "Export QuickBooks CSV" button that downloads a CSV formatted for direct import into QuickBooks (Customer, Item, Date, Hours, Rate, Description columns). The active date range, project, and user filters carry through to the export. A standard CSV export is also available from the same dashboard. Individual invoice line items can be exported as CSV or JSON from the invoice editor screen.

Can I use WP-CLI to manage timers?

Yes. Use wp ndizi time start --project="My Project" --description="Working on feature X" to start a timer, wp ndizi time stop to stop it, and wp ndizi time status to check what's running. All commands accept --user=<login|id> to target a specific team member. --project and --task accept either an exact post title or a post ID.

Does the plugin support third-party REST integrations?

Yes. Fully authenticated REST routes are exposed under /wp-json/ndizi/v1/time for starting, stopping, logging, listing, editing, and deleting timer entries. This enables desktop timekeepers, browser extensions, or mobile apps to communicate with the plugin. All write routes enforce the lock date.

Can I receive notifications when timer events or task updates occur?

Yes. The Integrations module posts JSON webhook payloads to a configurable URL on timer CRUD operations, CPT status transitions, and task/invoice metadata changes. A separate Slack webhook URL field sends formatted messages to any Slack channel. The Notifications module sends email to assigned team members when a task is assigned or when its status changes.

Can I turn off features I don't need?

Yes. The Settings page (Ndizi PM → Settings) lists all feature modules. Uncheck any module to disable it. Inactive modules are not loaded by the plugin, so their CPTs, hooks, and admin pages simply don't exist — useful for keeping things lean on sites that only need time tracking without the full feature set.

Where is the source code for the compiled JavaScript and CSS?

The uncompressed, human-readable source for every compiled asset in build/ ships alongside it in the src/ directory of the plugin (and is mirrored in the public Git repository at https://github.com/georgestephanis/plugins). The assets are built with @wordpress/scripts: run npm install followed by npm run build:all (which runs npm run build:vendor and npm run build) to regenerate the contents of build/ from src/.

更新日志:

1.0.2 1.0.1 1.0.0 1.0.0-alpha.2 1.0.0-alpha