james david low

live / work / play / worship

Post ToDo

Post ToDo is a modification of Our ToDo list with the ability to attach a to do list to a post or page and some additional options.


1. Download post-todo and place in wp-content/plugins/post-todo
It must be in exactly that place to work:
2. Log into your WordPress admin panel
3. Go to Plugins and “Activate” the plugin
4. Add a todo list to a post by just inserting the tag [post_todo]
5. You must be logged in to edit
6. Display all todos from all posts using [post_todo_all]

Todos for Post ToDo

If you found any of the software useful, please consider supporting its further developement by donating.
3:02pm / Dec 2nd / 08
« 3rd Party Authentication YouTubeApp.com »


    This plugin seems to be really usefull. Though I didnt install yet.
    What is the User column for? Is it the submitting user or is it the user who cares for that Todo?
    A target column would be good, which says what the target version is, when the ToDo is done the project.

    7:48am / Dec 21st / 08 ixiter

    The user I use is for the user assigned to that task, but I could default it to the user submitting the task, that might be a good idea. You can use it however you want.

    I know there are other columns, like task, or target date, I might think about adding them, though its hard to fit a lot of columns in the width of a wordpress blog.

    6:17pm / Dec 21st / 08 James Low

    Hey James,
    Looks like the best todo list for WP, but I can’t get it running properly. I’m using an almost fresh (old database, new files) and non-public 2.7 WP with no other plugins (tried WP Wall, Our Todo List but deactivated them). If I try to edit a page/post, I get “Warning: Cannot modify header information – headers already sent by (output started at …/wp-content/plugins/post-todo/post-todo.php:1) in …/wp-includes/pluggable.php on line 850” (The edit still goes through though.)

    If I try to use the todo list on a post/page (like a regular user), I get:
    “Warning: Invalid argument supplied for foreach() in …/wp-content/plugins/post-todo/post-todo.php on line 83

    Warning: Cannot modify header information – headers already sent by (output started at …/wp-content/plugins/post-todo/post-todo.php:1) in …/wp-content/plugins/post-todo/post-todo.php on line 108”

    There could be something wrong with my installation too, or then it’s something with the plugin.

    And while we’re at it, any chance of making an dashboard-only version (Widget)? That’s what I’m actually trying to accomplish, because all of the other plugins I’ve seen have been for older versions or sucked. I guess I can just hack it somehow myself if the header problem goes away…

    Anyway, no worries, just figured I’d post a comment instead of the usual “blah, doesn’t work”. :)

    7:11am / Dec 26th / 08 JK

    Thanks for the feedback! I definitely want to get this working for you, though the other feature requests might take a little longer.

    6:42pm / Dec 26th / 08 James Low

    Hmmm, really not sure what’s going on, just added my plugin to my test blog, which has a brand new install of wordpress 2.7, not errors, just worked :-S

    I’m not modifying any headers either in the plugin, so I’m not sure why its giving that error.

    Have you got any other plugins activated that might be overwriting post content, like replacing tags or anything, if you do let me know what they are and I’ll try installing it and seeing if they conflict at all.

    4:46am / Dec 28th / 08 James Low

    Hi James,

    I’m really keen to start using your plugin but would really appreciate some sample CSSS for styling?


    9:51am / Jan 3rd / 09 Robert@PNG


    I run “Bad Behaviour” and your plugin is generating the following error:

    Warning: Cannot modify header information – headers already sent by (output started at /wp-content/plugins/post-todo/post-todo.php:1) in /wp-content/plugins/bad-behavior/bad-behavior/screener.inc.php on line 8

    After some basic testing I have decided to wait ffor an updated version of your plugin – I sense that there’s a few bugs that need ironing out.

    Please persist as I think you are on to something very useful here.


    9:57am / Jan 3rd / 09 Robert@PNG

    Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/pupsorco/public_html/wp-content/plugins/post-todo/post-todo.php:1) in /home/pupsorco/public_html/wp-content/plugins/wordpress-automatic-upgrade/wordpress-automatic-upgrade.php on line 119

    ;( it’s not good.

    8:43pm / Jan 7th / 09 pupsor

    hmmm, seems to be a lot of issues people are having with the headers that I don’t have on any of the wordpress setups I use with this.

    I’ll have a think about where this is occurring and try and have an update sometime.

    12:53am / Jan 9th / 09 James Low

    Same header issue here. Unfortunately I run over 20 plugins so it’s hard to narrow down. I thought it might be the call to wp-load.php, or the way the requests are read before hooking the plugin.

    Good luck, I was looking forward to making use of this.

    11:26am / Jan 22nd / 09 seriocomic

    ok… I have it installed and I dont have any errors, but I am missing how to add an item to the To Do list.

    1:09am / Jan 23rd / 09 whealer

    […] post or page if you want. See http://jameslow.com/2008/12/02/post-todo/ for more details. …..read more Download Plugin! Version 1.0.9 Last Updated: December 15, 2008 Author: James Low Visit […]

    1:59pm / Jan 31st / 09 Post ToDo

    you add todo’s using the (+) simple on the top line, just type in the boxes and click it.

    for those of you with the header errors, I’m going to look at it again sometime. please be patient.

    2:13am / Feb 2nd / 09 James Low

    Hi again, to help with the trouble-shooting I noticed that the adding/updating on the post while logged tried returning me to the plugin .php file itself rather than the designated page…

    1:05pm / Feb 2nd / 09 seriocomic

    Hiya, just wondering if its possible to add a to do list to the sidebar rather than a post?

    4:05am / Feb 5th / 09 fragileheart

    Currently its not possible to add to the sidebar.

    For all of you getting the headers already sent error. I am doing a redirect in the plugin, and yes its supposed to submit to the plugin .php itself. This was so I could do a GET-POST-REDIRECT, to stop the warning in browsers when refreshing after a form post.

    I’m going to remove this and just submit to the post, but will take some time to get round to it.

    4:14am / Feb 5th / 09 James Low

    Ok, there’s a fix out, which should sort out the headers already sent error that people are getting. Let me know if this solves it for you.

    1:53am / Feb 10th / 09 James Low

    Excellent!! Looks like that fixed worked for me – just in time for my new project too. Thank you very much.

    6:35pm / Feb 11th / 09 seriocomic

    Just one note – it is causing a small conflict somewhere when posting (updating etc), or making a change inside wp-admin – I get a blank screen and have to manually reload the admin interface. This disappears when deactivating this plugin.

    7:42am / Feb 12th / 09 seriocomic

    Hmm, I’ll have a look why. Is it on all posts, or just ones with the [post-todo] tag?

    12:08pm / Feb 12th / 09 James Low

    Anytime any post is made, updated, or a plugin is activated/deactivated etc. I only have a single page (not post) with the [post-todo] tag.

    7:48pm / Feb 12th / 09 seriocomic

    its definately interfering with headers – as my 404 page now returns a 200 status, rather than 404.

    9:48pm / Feb 13th / 09 seriocomic

    I get the same headers issue. I have WordPress 2.7.1, which may have helped introduce the problem. I assume you are using 2.7, which may be just enough of a difference to allow your plugin to work. It may be extra spaces or lines at the end of files, but I went through my entire wordpress installation and deleted every extra ending line after the question-right-angle-bracket PHP closing tag (some idiot must have gone through and added carriage returns after every wordpress file before uploading the package as a bugfix release). If I somehow, with my limited knowledge of PHP, find the solution before you, I will be sure to comment back here again.

    My error message, in case it really matters:

    Warning: Cannot modify header information – headers already sent by (output started at /home/****/public_html/****/wp-content/plugins/post-todo/post-todo.php:1) in /home/****/public_html/****/wp-includes/pluggable.php on line 850

    4:06am / Feb 26th / 09 Curtis


    I am wondering where I can download the fix for the header issue and whether or not it is working for 2.7.1?


    12:35am / Feb 27th / 09 Marji

    Well, I tried downgrading, but it still doesn’t work with 2.7.0

    3:46pm / Mar 2nd / 09 Curtis

    Your plugin broke a clutch of plugins I’m using

    here are just two messages dumped in separate tabs of FF when trying to see whats going – had to disable yours, it could be useful when its a bit more bug free

    Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/content/s/a/a/saa05admin/html/wordpress/wp-content/plugins/post-todo/post-todo.php:1) in /home/content/s/a/a/saa05admin/html/wordpress/wp-content/plugins/easy-contact/econtact.php on line 112

    Warning: Cannot modify header information – headers already sent by (output started at /home/content/s/a/a/saa05admin/html/wordpress/wp-content/plugins/post-todo/post-todo.php:1) in /home/content/s/a/a/saa05admin/html/wordpress/wp-includes/pluggable.php on line 850


    Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/content/s/a/a/saa05admin/html/wordpress/wp-content/plugins/post-todo/post-todo.php:1) in /home/content/s/a/a/saa05admin/html/wordpress/wp-content/plugins/quick-shop/quickshop.php on line 19

    Warning: Cannot modify header information – headers already sent by (output started at /home/content/s/a/a/saa05admin/html/wordpress/wp-content/plugins/post-todo/post-todo.php:1) in /home/content/s/a/a/saa05admin/html/wordpress/wp-includes/pluggable.php on line 850

    11:57am / Mar 16th / 09 David Brazendale

    Hi, I manage a team. Is is possible to have multiple to do list (but different ) on the same page?



    11:06am / Mar 20th / 09 Sebastien

    Hi. The way it stores data is to store them in the post meta data, so currently only supports a single todo list per page or post. You could setup multiple pages as a child of a single page in order to have seperate lists.

    You can also show a readonly version of all your todos on a single page using the tag [post_todo_all]

    2:20pm / Mar 20th / 09 James Low

    Hi again, ok, I have a big request for you. I hope you can help… As I said, I manage team member every month. Those members have a to do list to do for 1 or 2 month. But every new member have to do the same thing. It’s like a training. So it’s like day 1 do that thing, day 2 this thing, etc…
    So I need to put 30 things to do for each new members. But the same list everytime. How can I batch add this 30 things list.

    Other thing, how is it possible to just activate the checkbox to be check by that member. I don’t want her to be able to change the to do list. Just have the possibility to check the box . Like she said, I did it…

    How to expand or remove fields…



    8:16pm / Mar 20th / 09 Sebastien

    Any help please on my last post? I really need help, I ca’t do it myself..

    tks you


    7:31pm / Mar 21st / 09 Sebastien

    Hi again, do you think it’s possiblt to have a little bit of help please?



    7:45pm / Mar 23rd / 09 Sebastien

    Hi Sebastien,

    I see your last post. I understand what you are trying to do, but unfortunately it would be quite a lot of work to edit the plugin to do what you want and right now I am quite busy doing my paid work.


    9:38am / Mar 24th / 09 James Low

    Hello again James, I understand. So tell me how much you charge me to do it


    12:02pm / Mar 24th / 09 Sebastien

    Not Compatible with WordPress 2.7 or 2.7.1

    reported my errors 16th march – no response!!

    9:35pm / Mar 30th / 09 David Brazendale

    Sorry I’m extremely busy with work and cannot work on free plugins right now.

    I use this addon on 2.7.0 so I know it works with that. Any errors are related to other plugins on specific wordpress setups. As time permits I will look at this and I welcome any users to send in patches so that I can makethem public.

    9:42pm / Mar 30th / 09 James Low

    Hi, when I activate the PlugIn all my Umlauts (ä,ü,…) are broken and I have different Problems like showing the Dashboard, etc…
    How can I fix this?
    Installed: WP2.7 with Plugins lightbox-2, pagemash, simple-forum and my-category-order

    3:56pm / May 13th / 09 Joerg


    Thanks for the plugin. It works on my intallation of 2.7.1 but I get the Blank Screen of Death everytime I update anything in my WordPress Control Panel (wp-admin). If I de-activate the plugin I don’t get this. When I re-activate, then I get it again….

    I would love to use this plugin.
    Any ideas?

    Thanks again,

    1:15am / May 17th / 09 Arto

    I’m still having the header issue (using 1.1.1 with 2.7.1) as well as the foreach() issue.

    12:31pm / May 20th / 09 Pip

    Oh, also, using this on a fresh 2.7.1 install with no other plugins running.

    Would love to be able to use this plugin, though. I’m sure that, combined with P2, this would make a great solution for light project management software.

    12:32pm / May 20th / 09 Pip


    I have the headers already sent issue each time I edit something in the admin (post a post, edit theme, …)

    here’s the activated plugins I use :
    – disable wpautop
    – dtabs
    – exec-PHP
    – post notification
    – post todo list (your plugin)
    – private wp
    – simple tags

    this issue is annoying but doesn’t break anything (ie: I got the header issue when posting for example, but the post is posted, just ahve to go back and refresh).

    Hope you’ll find some time to fix this issue, cause your plugin is nice.


    5:02pm / May 31st / 09 ayoli

    tried it on 2.8
    i does not works at all
    empty [post_todo] shows well but i cand find a way to add something to the list.
    is it a bug ?

    8:33pm / Jun 13th / 09 Goury

    Maybe, I haven’t tested on 2.8 yet. I will at some point, other work has priority though.

    8:21am / Jun 16th / 09 James Low

    I’ve been searching high and low for this! I wanted exactly this: a to-do list that can be updated by users on a blog page. Thanks so much. It works great so far.

    1:49am / Aug 4th / 09 kedmond

    Oh, by the way, I’m using your plugin with WordPress 2.8.2. I’m actually using WordPress-MU and I haven’t had trouble with your plugin yet. Thanks again.

    1:50am / Aug 4th / 09 kedmond


    You have to click on the “+” sign to the right of the entry. I didn’t realize it at first either. I’m using 2.8.2 and it works great. Thanks again James Low!

    2:05am / Aug 4th / 09 kedmond

    Headers Already Sent Fix!

    To fix the headers already sent problem in the latest version of wordpress do the following:

    Open post-todo.php, scroll to the very bottom and make the following change:





    4:27am / Oct 29th / 09 dgodfather

    Hi, thanks for that. I’ve updated that. I didn’t think it affected things because it was inside the < ?php ?> block, but if it fixes things for some people that’s good.

    8:17am / Oct 29th / 09 James Low

    Hi. Installing on a 2.9 results is:
    Warning: Cannot modify header information – headers already sent by (output started at /…/wp-content/plugins/post-todo/post-todo.php:1) in /…/wp-includes/functions.php on line 791

    6:21pm / Dec 23rd / 09 Wouter


    still have the headers already sent bug, but it works (just need to hit back and refresh.

    btw if I want to put something in the first task and then click the update button, I got this error :
    Warning: Invalid argument supplied for foreach() in /home/sites/corporate/int.telemaque-telecom.com/web/wp-content/plugins/post-todo/post-todo.php on line 84

    And if hit the + button it adds a task but without description field.

    Shame cause this plugin could be really useful :/
    Hope fixes will come soon !


    6:15pm / Jan 12th / 10 ayoli

    my bad I didn’t know how to use it, sorted out now.

    There’s only the headers already sent annoyance when posting a new post with the post-todo tag in it or when saving the post todo settings.


    6:35pm / Jan 12th / 10 ayoli

    The plugin seems to be exactly what I was looking for. Unfortunately, it doesn’t seem to work with WP 2.9.1…

    1:25am / Jan 26th / 10 Raf

    Hi, I belive this is a great plugin. Unfortunately, I can’t use it with WP 2.9.2. It’s still got the Headers Already Sent -problem;

    Warning: Cannot modify header information – headers already sent by (output started at /home/1/k/kobberslottet/www/wp-content/plugins/post-todo/post-todo.php:1) in /home/1/k/MYDOMAIN/www/wp-includes/pluggable.php on line 868

    and there is a different problem, when I try to enter some values and hit add in to-do list on the page where i put it;

    Warning: Invalid argument supplied for foreach() in /home/1/k/MYDOMAIN/www/wp-content/plugins/post-todo/post-todo.php on line 84

    I really hope you’ll be able to fix it so we can use it with WP 2.9.2.

    Wish you all the best and good luck!

    3:40am / Mar 16th / 10 Harald

    Does this work with wp 3.01?


    7:33am / Aug 5th / 10 Rick

    Hi, Post Todo is a good start at something I really need. Therefor I’m having a look at your code to see if I can extend it to better suit my needs. I hope you don’t mind? Rest assured, I’m not gonna publish anything without your consent and I won’t be making a cent off this. And if I get somewhere I will ofc send you a copy.

    A quick question though: You have a single variable $todo_complete in the completeTodo function of the posttodolist class (line 508) that is reported as “may not have been initialized”. Any particular reason for that?

    Also, a wee little feedback: Your code would be a lot easier to understand if it had some comments in it…

    I can also inform you that I tried loading Post Todo on my personal website and got the same header error as reported by several other people before me. I have a lot of other plugins on this site so it might be a conflict with them, but when loading it on a clean WordPress version 2.9.2 everything worked like a charm. (Hm! I should update that installation…)

    Anyway, keep up the good work and thanks for a cool plugin. :)


    7:06pm / Oct 12th / 10 Stig

    Thanks the comment stig. I fixed the line that hasn’t been initialised, I know I need comments, and to fix the header error. Maybe a way round that would be to use XML-rpc built into wordpress, I’m not sure.

    I write these things very quickly in general, when I need a plugin for something that I need to do, but yea they could do with more maintaining. If anybody really wants to help, let me know.

    2:05pm / Oct 13th / 10 James Low

    Awesome, awesome, awesome… at least in theory. Looks like we’re not up to WP 3.1 yet. Any chance of getting this up and running? Anyway, keep up the great work here!

    6:43am / Oct 18th / 10 Sam

    Got header bug also today.
    Searched in German language and found:
    where it was mentioned by hoto (23.04.2008: Hoto) to save the file not in UTF-8 but in ANSI. I did this with post-todo.php and that worked.
    I do not know why but for me now the bug is fixed.

    2:39am / Nov 14th / 10 Michael

    Would be great if this “header” issue could be solved, because this is the exact plugin I’m searching for…!

    Using the latest WP version and if you need any help in testing, let me know.

    8:22pm / Nov 26th / 10 Marco

    […] our other sytems we are putting in place I am going to go list crazy.  The cool thing is I found a plugin for WordPress (this website) that lets me build the lists like the one on “Things to Do Page”.  So […]

    James — thanks for your work on this. Is it possible for this plugin to keep track of separate to-do lists for each user logged in? I’m thinking of having a “master” list that I would allocate to each new user and then have them individually work through each item. Is that possible?

    Thanks, Chris

    5:13pm / Feb 3rd / 11 Chris

    It doesn’t do it right now. You could modify it to, but I’m working on another todo list product so I’m not likely to modify this plugin so heavily.

    5:18pm / Feb 3rd / 11 James Low

    You could create posts that are unique for each user?

    5:19pm / Feb 3rd / 11 James Low

    James — thanks for the fast reply. I guess you are right — I could create a post unique to each user. What’s the timing on your “next” to-do product? I’d be interested in trying/beta testing if helpful.

    Thanks, Chris

    5:44pm / Feb 3rd / 11 Chris

    Probably summer, but that’s all I say ;-)

    5:55pm / Feb 3rd / 11 James Low

    Hey James, thanks for this plugin. It’s great! One question though. How can I add a date field (either manual input or datepicker) to the list? Is that at all possible or not?

    5:12am / Feb 8th / 11 Dennis Flinsenberg

    It possible but you would have to edit the plugin to do it.

    8:00am / Feb 8th / 11 James Low

    Can’t seem to get the plugin to work properly with WP 3.0.5. The plugin itself works, but when I log out it just displays these three chars: “”. Any ideas on how I can fix it, or is this a compatibility issue with WP 3.0.5?

    3:03am / Feb 9th / 11 Dennis Flinsenberg

    I’ve tried to install your plugin, but it does not seem to work. I’ve added the tag, but there is no task to manage

    5:41pm / Sep 2nd / 11 dmitry