My Tasks for WP Project Manager

The plugin WP Project Manager by weDevs lacks a screen where a logged-in user can…

Author:Tyler Tork (profile at wordpress.org)
WordPress version required:4.4
WordPress version tested:5.7.2
Plugin version:1.0
Added to WordPress repository:19-10-2020
Last updated:14-03-2021
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:0
Rated by:0
Plugin URI:http://torknado.com/mytasks
Total downloads:220
plugin download
Click to start download

The plugin WP Project Manager by weDevs lacks a screen where a logged-in user can see a list of tasks assigned to them, with due dates, and overdue items highlighted.
This plugin supplies that missing piece via a smartcode, with arguments to control task selection (the default being all open tasks for the current user). This is implemented using the WP Project Manager’s ReST API, so it’s also an example of how to use the API for your own custom UI elements.

To insert a task table into a page of your site, use the shortcode: [tnado_mytasks]

The following arguments are available:

  • select=’all|completed|late|open’ — which tasks to display in the table (default=open).
  • buttons=’true|false’ — (default true) whether to display complete and reopen buttons.
  • confirm=’true|false’ — (default true) whether to prompt user for confirmation when they click a complete or reopen button.
  • limit=(number) — how many rows to display, -1 (default) for no limit. There’s no paging here — you can just limit the number of rows displayed. Suggest displaying two tables — one with all open items, one with a limited number of completed ones.
  • class=(class name) — CSS style to apply to containing div, default none.

The elements are tagged as follows:

  • id=’tnado_mytasks’ for the containing div.
  • class=’tnado_mytasks_task_table’ for the table element.
  • th elements are used for the table heading row
  • class=’tnado_mytasks_task’ for a tr element displaying a task that’s open but not overdue.
  • class=’tnado_mytasks_task tnado_completed’ on the tr element if the task has status ‘closed’.
  • class=’tnado_mytasks_task tnado_overdue’ on the tr element if the task is open and past its due date.
  • class=’tnado_mytasks_taskname’ on the td element containing the task name/link.
  • class=’tnado_mytasks_projname’ on the td element containing the project name/link.
  • class=’tnado_mytasks_due_date’ on the td containing the due date.
  • class=’tnado_mytasks_buttoncell’ on the td containing the due date.
  • class=’tnado_mytasks_button tnado_mytasks_reopen’ on the input element for the “reopen” button.
  • class=’tnado_mytasks_button tnado_mytasks_complete’ on the input element for the “reopen” button.

Not all of these styles are defined in the plugin’s stylesheet — some are used just to let you style the table easily with custom CSS if you don’t like your theme’s default presentation. Please note a table can be made responsive with CSS, if that’s a concern.

Donations

This work is entirely donation-supported. If you find this tool useful (even if only as an example of how to write your own code using the ReST API), please consider donating.