BuddyPress · BuddyBoss · Free · v4.0.0

A private task list on every member's profile, and nowhere else.

Todo for BuddyPress & BuddyBoss gives each logged-in member their own list, with priority levels, due dates and categories. Nobody else can read it: to-dos have no public page, no archive and no entry in site search, and the tab only renders when a member is on their own profile. Group managers can push one task out to a whole group, and each member works through their own copy.

Free forever · Unlimited sites · Runs with or without BuddyPress

Where it lives

One list, three places you can put it.

The same task list renders on a member profile, on any page you choose, and inside a group. The modern block and REST interface is the default, so adding, completing, filtering and paging happen without a page reload. A Classic setting keeps the older templates if a theme or plugin disagrees with it, and the plugin falls back to Classic on its own where the Interactivity API is not available. Switching between them never touches your data.

  1. 01

    The member profile

    A To-do tab lands on the member profile at nav position 75, with Todos and Add sub-tabs and a count of open tasks on the label. Rename the tab in settings, or switch it off for the whole site.

    Profile nav Activity · Profile · Groups · Todos 7

    Needs BuddyPress or BuddyBoss

  2. 02

    Any page on the site

    Drop the My Todos block into a page, or the shortcode into a template, and every logged-in user gets their own list there. Filter the output by user, category, status, priority, page size and sort order.

    Shortcode [bptodo_list status="incomplete" priority="high" per_page="10"]

    No BuddyPress required

  3. 03

    Inside a group

    Groups get their own To-do tab with Todos, Add and Overview screens. Turn it off for one group with a single group setting, or for every group at once from the plugin settings.

    Group tab Todos · Add · Overview

    Needs the Groups component

Search, filters and paging all run on the server against every task you own, not just the rows already on screen, so a member with two thousand tasks gets the same list as a member with twelve. There is also a [bptodo_by_category] shortcode when you want one category on its own page, and a sidebar widget that shows tasks with their priority.

Who sees what

Private is the default, not a setting you remember to tick.

A task list only gets used if members trust it. Every read and write in this plugin goes through one permission class, so viewing, editing, completing and deleting all answer to the same rule rather than to six copies of it scattered across the code. Here is the whole picture.

The member
Their own list, on their own profile. They create, edit, complete, reopen and delete their own tasks.
Another member
Nothing. The To-do tab is only registered while a member is viewing their own profile, so it never appears on somebody else’s.
Search engines
Nothing. A to-do has no permalink, no archive and no term archive, it is not publicly queryable, and it is excluded from site search.
Fellow group members
Only the group tasks they were given. A group task hands each member a private copy, and personal lists stay out of it entirely.
Group admins and mods
The group Overview: how far the group has got, and how far each member has got, on the group’s tasks. Nobody else can open that screen.
Site admins
Site-wide counts in the plugin dashboard, and the task records themselves in wp-admin, the same as any other content type.

You can narrow it further. Creating tasks can be limited to chosen roles, member lists can be switched off site-wide, and group to-dos can be turned off for one group or for all of them. Scheduled cleanup is available too: keep completed tasks for as many days as you want, then trash or permanently delete them, with an optional email when a run finishes.

Group to-dos

Write the task once. Everyone gets their own copy of it.

A group admin or moderator adds a task to the group and picks who it goes to, either named members or the whole group. The plugin keeps one primary task on the group tab and hands each chosen member a private copy, which they tick off from their own profile list next to their personal work. Ordinary members cannot push tasks onto anybody else, so a group list never turns into a place people assign each other homework.

  • Assign to named members or to everyone in the group.
  • Only group admins, moderators and site admins can create one.
  • The group tab counts real tasks, not the per-member copies.
  • Switch group to-dos off for one group, or for every group.
  • A Group Todos block puts the same list on a page.

Pricing

Free, with nothing held back.

There is no paid edition, so there is no feature to gate. Everything below ships in the one download, free forever, on as many sites as you want, with no licence key to enter.

  • A private to-do list for every logged-in user
  • To-do tab on the member profile, with an open-task count
  • My Todos block and [bptodo_list] shortcode for any page
  • Priority levels: Critical, High and Normal
  • Due dates, with an optional require-a-due-date rule
  • Categories, and a setting for who may create them
  • Due-date reminders by email and by notification
  • Group to-dos assigned to named members or the whole group
  • Group Overview with per-member completion progress
  • Server-side search, filters and paging across every task
  • REST API on bptodo/v1, plus two Interactivity blocks
  • Scheduled cleanup of old tasks, trash or delete
  • Renameable tab label and a per-role creation allowlist
  • German, Spanish, French, Italian and Portuguese, plus RTL
Free

Version 4.0.0

Download free

Unlimited sites. WordPress 6.5 and PHP 8.0 or newer. BuddyPress and BuddyBoss are both optional.

Before you install

Questions community operators ask.

  1. 01

    Do I need BuddyPress to use this?

    No, not since version 4.0.0. Add the My Todos block or the [bptodo_list] shortcode to a page and every logged-in user gets a private task list on any WordPress site. BuddyPress or BuddyBoss adds two things on top: the To-do tab on member profiles, and group to-dos. Email reminders also use the BuddyPress email system, so those need one of the two active.

  2. 02

    Can other members see my to-dos?

    No. The To-do tab is only registered while a member is on their own profile, so it never appears on anyone else’s. To-dos have no public page, no archive and no term archive, they are not publicly queryable, and they are excluded from site search. The one exception is deliberate: a task a group admin assigned you is visible to that group’s admins on the group Overview screen.

  3. 03

    Can members assign tasks to each other?

    No. Personal tasks are yours alone to create. Group tasks can be handed out, but only by a group admin, a group moderator or a site admin, and only inside a group. An ordinary member cannot put an item on somebody else’s list.

  4. 04

    How do group to-dos actually work?

    A group manager writes the task once and chooses who gets it, either named members or the whole group. The group keeps one copy of the task on its tab, and each chosen member gets a private copy that shows up in their own profile list, which they tick off there.

  5. 05

    When does the due-date reminder arrive?

    On the day the task is due, not before. A background job runs every six hours, finds tasks that are still open and have reached or passed their due date, and sends the member an email and a notification. Each channel has its own on-off switch in settings, so you can run one, both or neither.

  6. 06

    Can I organize tasks by priority and category?

    Yes to both. Every task carries a priority of Critical, High or Normal, and sorting by priority runs in the database rather than in the browser. Tasks also go into categories you define, and a setting decides whether members may add categories of their own or only pick from yours.

  7. 07

    Will it cope with a member who has thousands of tasks?

    Yes. Searching, filtering and paging are done on the server across the member’s whole task set, with counts coming from a single aggregate query, so the list behaves the same at two thousand tasks as at twelve. The group Overview pages its member list too.

  8. 08

    Can I stop old completed tasks piling up?

    Yes. Turn on retention and a daily job clears tasks past the age you set. You choose completed only, pending only, or everything, whether personal lists, group lists or both are included, and whether cleared tasks go to trash or are deleted outright. An optional email reports each run.

  9. 09

    What does a developer get to build on?

    A REST API at bptodo/v1 covering todos, single todos, completion, stats, categories and group todos, plus My Todos and Group Todos blocks built on the Interactivity API, action and filter hooks, and WP-CLI commands for seeding demo tasks and running cleanup. The list UI, the REST layer and the blocks all sit on one shared repository and permission layer.

  10. 10

    What are the requirements?

    WordPress 6.5 or newer and PHP 8.0 or newer. The modern interface uses the Interactivity API, and where that is unavailable the plugin falls back to the Classic templates on its own. You can also switch to Classic by hand from settings if a theme or plugin disagrees with the modern list.

Give members somewhere to keep their own work.

Install and activate the plugin. Every logged-in user gets a private list right away, the To-do tab appears on member profiles if BuddyPress or BuddyBoss is running, and group to-dos start flowing the moment a group admin writes the first one.

Free forever · Unlimited sites · No feature locks