In which I attempt to write a plugin

Timeline WordPress Plugin

This domain of mine has had stuff on it for a long, long time — before WordPress or MovableType or even Blogger. The original is, sadly, lost forever. Some pieces of it have been kicking around on my various hard drives and FTP locations for a decade now.

One file that I could never seem to bring myself to delete was an ancient hand-coded HTML <TABLE> listing of a bunch of important events in my life. A few friends of mine actually built a company based on the idea. It was called “”, had a magnificent interface, was all webbed up, and the site — last I checked — is completely dead. I wanted to have that timeline on this site again. I hadn’t updated it in years and years, and I would rather poke hot needles in my eyes than sit and hand-code a bunch of <td>s all day. “It should all be in a database, of course,” I said to myself. “And I should be able to edit it right in the WordPress Administrator, too. And seriously it should be written so that I can just give other people the ability to add timelines like that to their own sites.” ( I should stop talking to myself.)

There was really only one thing I could do. I wrote a plugin. You can see the results in the sidebar on the main page of this site. I am also using a timeline in this post (below) to track the updates I make to the plugin.

Make sure to view the README: Download v 1.332 (10/16/2006)

Timeline Plugin Updates

To Do:

  • handle bug that happens when user is using rich text editor
  • add rss feed for timeline events — requested by jcwinnie
  • create import script — requested by Lorelle
  • let timeline tag accept an optional “title” parameter

Feel free to digg this. :0)

There are 49 comments on this post

  1. I don’t see the timeline. Am I missing something??

  2. woah! not bad, might be some use for personal recordings… keep up!

  3. I always first install on a local copy before uploading changes to my live site. It allowed me to edit the first entry, but every time I go to add a new entry I get the following error messages in lieu of the 2nd drop-down date menu:

    Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in G:\www\wordpress\wp-content\plugins\dgEvents\options-timeline.php on line 183

    Warning: date() []: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in G:\www\wordpress\wp-content\plugins\dgEvents\options-timeline.php on line 183

    Line 183 contains the following:

    “ (without the backticks, of course)

    Any assistance would be much appreciated.

  4. Very cool, although I won’t give up the rich text editor for it. Hopefully you can resolve that bug soon.

  5. I’ve uploaded, activated and created a new page for my timeline but when I insert the timeline code all I get is a blank page.

    I’m no noob when it comes to plugins but am I missing something?

  6. It’s okay to talk oneself. The question, obviously, who is it that listens.

    By the bye: Is the plugin XML-ish?

  7. Nothing. If I use the code marker from the readme, I get blank. If I use the code marker shown in the Options page (hint: It lacks the ! mark), I get… that code marker. I’m not seeing any errors. I’m not seeing anything.

    I’d really, really like to use this plugin… and I don’t use the rich text editor.

  8. I’m very interested in adding this to my family history blog. I’d like to import the data from a gedcom or text file into the database so I don’t have to manually enter in hundreds of dates and bits of genealogy info. I know how to handle the import, but I’d like to work with you on developing the process so others could benefit from this. This could make the Plugin even more valuable. Thanks.

  9. GreyDuck: Thanks for the tip about the missing exclamation point in the Options page. I fixed that.

  10. can you alter this script to keep timelines of posts and no globaly? i mean everytime someone comment or the post being edited it makes a timeline entery?

  11. I am also trying this, but I see no timeline and can’t add any entries…

  12. Thanks for correcting the issue I posted above. (He’s already included it in the latest download.) How about a delete button to easily remove an event? Keep up the great work!

  13. …and…could a future version allow more than one post to be assigned to an event? This would be useful when an event covers a date range and there are more than 1 posts relating to it. For instance, I’m actually posting a weekly reading plan as a timeline and then I could assign all the posts to that week/portion of the reading plan. Or a date range might pertain to a confernce, vacation, etc. Not a “deal breaker” but would be a nice enhancement. Thanks again!

  14. What is the trick to get this bad boy working???
    The code marker does nothing.


  15. could this have something to do with the date format..? the plugin is not working on my danish-language (and date format) blog, but ok on a test blog straight out of the box…

  16. I’m gratified to read that I’m not alone in this. I’ve got my site using WP 2.0.4, and I installed this plugin and read the README several times. I create a new page containing the tag as shown in the readme; it’s a blank page when I open it.

    No matter what combination of text I add to the page, or leave it completely blank, using NO rich text editor, and it remains stubbornly blank.

    If I look at the HTML source for the page, the tag is visible in the code, with no replaced text at all. There is a new table in my SQL database, wp_dg_tblEvent, that has six fields and no records at all.

    So, what magic extra step do I need to do that I’m not understanding?

  17. I think I may have stumbled upon a possible solution to the mysterious “missing timeline” problem.

    The timeline plugin looks for a page_id querystring variable to determine with which Page the timeline is associated.

    If your timeline doesn’t exist on a URL that has a page_id querystring parameter, it won’t display.

    My timeline here, for example, exists at index.php?page_id=6187 and the 6187 is the timeline plugin’s “key” to know which timeline to display.

    I will do my best to update the timeline to work with people who are using different URL structures!

  18. New version (1.331) released which should (hopefully!) fix the mysterious missing timeline bug.

  19. Note: Now that I have (hopefully) fixed the problem caused by my (stupid) use of the querystring page_id parameter instead of the (intelligent) $post class, I’m wondering if that will also solve the problem that I *thought* was caused by the rich text editor.
    Is anyone successfully using the plugin with the rich text editor?

  20. That is fantastic. The fix took care of the “no timeline” issue. New toys!

  21. Yes!! Problem solved. New version now works.


  22. A few questions (and maybe a new bug) now that this cool plugin works…
    Creating the first entry what should one enter for postID?
    If left blank what should happen?
    If you enter a number where your blog already has a post with same ID then the Timeline “read-more” links to that story. Hmm, that by design?

    Should you always leave the postID blank? Unless perhaps you want to link it to a post/article.?

    After creating entry, all the text displayed on the Timeline page but also the “read-more” link was present. There is nothing more to read.

    Also the read-more link for me appends an extra /

    which leads to a 404 error.

  23. Jason,
    Yes, you only enter a PostID on the timeline edit / add screen if you want to link a particular event to a blog post.

    I will look into the extra slash issue as soon as I can.

  24. I get an error:
    [You have an error in your SQL syntax near '' at line 8]
    insert into wp_dg_tblEvent(PostID, StartDate, EndDate, Event, TimeLineID) select 0, '2006-10-17', '', 'Timeline Created', 430

    But now, at least I see something on the page!

  25. I get an error:
    [You have an error in your SQL syntax near ” at line 8]
    insert into wp_dg_tblEvent(PostID, StartDate, EndDate, Event, TimeLineID) select 0, ‘2006-10-17’, ”, ‘Timeline Created’, 430
    But at least now something’s happening 🙂

  26. bingo..! it’s working – but some of my fellow dk-bloggers still seem to have various problems…

  27. I just installed the timeline plugin and all is working fine, except when I try to set the date for an entry I can’t get it to display anything before December 31, 1969. Since I’m a living fossil from before that fateful year, and would like to display events that occurred in my life before then, what can I do to get the timeline to display these prehistoric dates? Hope it’s not too difficult a problem. Thanks!

  28. For a nice example of timelines, take a look at:

  29. I installed the timeline plugin and I am also getting the error: WordPress database error: [You have an error in your SQL syntax near ” at line 8]

  30. Very useful plugin. I’m wondering if it is possible to create some additional code outside of the loop that creates the table to do some totaling of days, etc.

    I would like to use the Time Line as a log for my Travels. How many days we have been travelling. If its possible to add extra fields, then how many miles we have travelled. Average daily travels, etc, etc.

    Is this something that could be added in some future update?

  31. […] Like David Gagne’s Timeline plug-in for WordPress, it probably makes sense for someone with PHP experience (not me!) to make an Exhibit plug-in as well. […]

  32. […] dagon design sitemap generator – [genererer et sÃ¥kaldt sitemap over bloggen – det er nemmest at forstÃ¥ ved at kigge pÃ¥ et eksempel, sÃ¥ her er mit: ] david’s event timeline – [denne lader sig ogsÃ¥ bedst forklare ved at se et eksempel: m-alo har lavet en version som er en smule forbedret for danske brugere…] democracy – [en af mange muligheder for at oprette en afstemning enten i sidebar’en eller i indlæg…] […]

  33. After upgrading to WordPress 2.1, I get the following error when trying to edit an event:

    Fatal error: Call to undefined function: the_quicktags() in /[…edited out…]/wp-content/plugins/dgEvents/options-timeline.php on line 216

  34. Same error appears when trying to add a new event, by the way…

  35. Looks like the plugin might not be WP 2.1 compatible…I have the same error as you m-alo on a new WP site I just created, but have not problems on my main personal timeline.

    I’m itching to get the new timeline up and running, so whenever you get some time, David, to make it 2.1 compatible, please do.

    By the way, I absolutely adore the plugin, and it’s the one of the best plugins out there, IMO. Quick question, though: can you have multiple timelines on the same WP install? I’d love to either have a few different timelines (such as one charting outings/vacations and one charting major life events), or even just an ability to categorize events within a single timeline.

  36. Doesn’t work in WordPress 2.2 and when “Timeline” is selected in “Options” it slowly loads the blog index file instead.

  37. hi scott
    i have the same probemas the two mempbers above.
    the plugin looks grest… woul love to get it working
    thankyou for your time. my errois below

    Fatal error: Call to undefined function the_quicktags() in /home/worldpea/public_html/fab/wp-content/plugins/dgEvents/options-timeline.php on line 221

  38. Hi there,
    I am unable to download the timeline plugin through the links provided. Can anyone please send me the file or tell me where I can download it to get started?

  39. Hey, Dana,
    The plugin stopped working after WP2.1 and I haven’t had time to update it.

  40. You have some great plugins on your post. Your insight and expertise would be a welcome addition to our new community, i hope you will consider joining, and thanks for sharing!

  41. I don’t see the timeline, am I the only one not seeing it?

  42. @Arsie: I’m no longer using the plugin on this site and haven’t even thought about it in years. If you’re seriously interested I can dig up the code for it and will be happy to send it to you.

Add to the discussion:

I'll never share your email address and it won't be published.

What Is This? is the personal weblog of me, David Vincent Gagne. I've been publishing here since 1999, which makes this one of the oldest continuously-updated websites on the Internet.

A few years ago I was trying to determine what cocktails I could make with the alcohol I had at home. I searched the App Store but couldn't find an app that would let me do that, so I built one.


You can read dozens of essays and articles and find hundreds of links to other sites with stories and information about Ernest Hemingway in The Hemingway Collection.