This Day In History

This plugin allows administrators to enter a list of historic events. Historic events that occurred this day in past years can then be displayed via the included widget and shortcodes.


You can download this Plugin from  the WordPress Plugin Directory.


You can enter, edit or delete historical or, if you wish future, events via the simple administration page which also lists the events that you have entered.  You can, of course, both filter and sort the list.

The events are displayed via an included widget or one of the two shortcodes.  Events are shown chronologically by year if they fall on the same day and month of the current date.

Optionally you can create event types and assign a type to an event.  Events can then be shown and filtered by event type in both the administration screen and widget.

Bulk Importing of Events

The events are stored in the standard posts table so it is possible to use a standard importer to bulk load your events from a CSV file if you want.  I recommend using Really Simple CSV Importer to do this.  This is the process:-

  • Install and active This Day in History
  • Install and active Really Simple CSV Importer.
  • Go to Tools -> Import -> CSV -> Choose your CSV file -> Click Upload and Import
  • You’re Done.

This CSV file must be in a particular format.  Here is an example file you can download.

Example CSV file for This Day In History


  • Jim H

    Very promising plugin. I just have one issue. I see some numbers after the event. Here is an example:
    1984 Jeopardy! begins its syndicated version. (33)

    How do I remove the [33]?

    • BC

      Under the widget settings uncheck “Show event age”. This is the number shown in brackets.

      Thanks for the positive feedback.

  • Roosevelt Wright

    I am using Jetpack 5.2.1
    This day in history 2.2.1

    After I upgraded to 5.2.1 Jepack I am no longer able to add any new information


    • BC

      This is a known issue with JetPack (rather than this plugin) and hopefully they will resolve it in their next release.

  • John McHugh-Dennis

    Is it possible to enter a B.C. date?

    • BC

      No, sorry that is not possible (this is explained in the comments below).

  • Taher Almahdi

    I use this plugin and I love it. But I’m felling a problem when I want to write before christ (BC) date. Please help me, How can solve this problem? Thanks a lot.

    • BC

      It is not possible to enter dates before 01-01-0001, sorry.

  • Michael Dalton

    Hello from the Blackjack Review Network. I love your app and use it extensively on my web site. I am actually using it for historical events as well as quotations. I am trying to get an event listed for every day of the year, however, that is very hard. So…. I decided to leave a quote for those days that don’t have an event. I give a year of 9999 for all the quotes.

    I do have a question. How do you display a table with all events “except” a type or a year? I’ve tried following some of your examples but I couldn’t figure it out.


    • BC

      Thanks for your feedback. Excluding a year or a type in the shortcode is not currently possible, but I will try to add type exclusion in a future release.

  • Gbenga

    Hi. Is it possible to set how many entries to display in the widget or by shortcode? For example if there are 20 events/entries for January 1 but you want to display only 3 in the widget due to space limitations?

    • BC

      This isn’t currently possible but I might add it in a future version.

  • Tom

    Hello, I think this is a great plugin and if I do end up using it, I’ll send along some beverage money. BUT before I decide, I have a question relating to the table layout presentation. In my test page the table cell for the date (yyyy-mm-dd) squeezes the content such that the year appears on one line and the mm-dd appear on a line below. Is there a css workaround such that I can increase the size of the cell? Perhaps make it responsive. FWIW I have it set up so that only two columns appear, the date (yyyy-mm-dd) and the event, the event column is fine, it’s more than wide enough to accommodate the information. The date column has the squeeze issue mentioned above. Also, I do not want any border or outline to appear around the entire table and separating rows and columns, I’ve tried fiddling with CSS but I’m not sure which selectors to use? Any help will be greatly appreciated. I wonder if you have a graphical depiction of the table structure with the css classes and/or ids identified for purposes of modifying the presentation layout? Thank you!

    • BC

      Thanks for the positive feedback. The class for the [tdih_tab] table is tdih_table. You can format the table however you like with normal css, or you can use the classes='tab_class nice_tab' option of the shortcode to add in extra classes. No formatting is applied to the table by default so if you have borders or the content isn’t spaced well then this is because your theme is doing it. Oh and I don’t take donations, but thank you for the offer.

      • Tom

        Wow. Thank you. All I can say is you are phenomenal. I really don’t mind shooting a few bucks to people who produce quality plugins, apps and the like. Folk like you are the backbone of private, individual enterprise. Anyway, I appreciate your prompt response and guidance.

        Be Well,


  • Jordi

    I really love this pluggin, could not find another that works like this one.

    My problem is now with the PHP version, which needs to be 5.3 or higher.

    I have PHP 5.2.6 and no way to upgrade,
    ¿is there a way to go around the DateTime::createfromformat() fatal error so I can use the period=t option in the table?

    Will appreciate any response.

    • BC

      php 5.2 was end-of-life on 06 Jan 2011 – over 5 years ago and it is many versions behind (5.4 has been unsupported for 5 months). I don’t think is it sensible for me to design a workaround to support it. You could look at a very early version of the plugin and see if you can adapt the code, but my advice is that you should find a way to upgrade (to php 5.5+)

  • David Stone

    Hello – this is a great plug-in which does just what I need.

    Is there any way of adjusting things so that the year doesn’t appear on a tdih-tab page? Or that the format could be ‘1 Jan’ etc rather than ’01-01′?

    Many thanks.

    • BC

      You can use [tdih_tab show_date=0] to not show the date (options are documented in the help tab on the Historic Events page (although this option is incorrectly listed as show_year). The date format is taken from the admin options screen for the plugin.

  • Rajeesh

    I like this plugin. It is very good for me for sharing knowledge information to the world.
    If it possible to add link for year.(When clinking the year the list shows all event in that year). Also this is for month and day. And for type also

  • Robert Ostermeyer

    Thank you for this plug-in. three wishes: 1 – on birthdays or death days, the last few years (was born today xxx years or celebrates his birthday xxx.). 2. – multilingualism, 3. – a way to export the collected data (csv for example). And I find it still – where I can make a donation for this app? For about coffee ….

  • Web_Mistress00

    Love this plugin, it’s just what I was needing! One question for you… is there a way to, or any plans to, add a field that shows the day of the week the event was on? (tuesday, etc)

    • BC

      I’ll not really sure how this would work. Where would the day show?

  • Thomas

    I have 2 events on dated 12-12-2001 and one dated 01-12-2015 that show on the same day. What’s up?

    • BC

      I’m not sure how that can happen and need to look into it a bit – obviously the 01-12-2015 event shouldn’t be there. Do you have a link to the plugin output?

      • Thomas

        More worried about the output. The items don’t “stack” they are partially side-by-side. there’s a spacing issue, i assume.

  • Rafiek

    Great Plugin.
    I’m using it on a site for rock music info from my country. I want to display the birthdates of our musicians. But some of them don’t want to give me info on their birth year (women of course)
    Is there a way to insert or display the info without the year of the event???

    • BC

      There is no way to do this currently but I will try to include it in a future version.

      Edit: This has been possible since version 2.0

  • David

    Excellent widget – really useful. Is there any chance that you could add the anniversary or birthday number e.g. 21 years old, 200 years ago etc


    • BC

      That might be possible and I’ll try to include it in a future version.

      Edit: This has been possible since version 2.2

  • Thomas

    Great plugin. Is there a way to download the data I input so I can use it on another site?

    • BC

      Thanks for the positive feedback. There is no exporter included in the plugin but you could use an Exporter plugin (like WP CSV for example) to export the particular custom post types (and import them as explained above).

  • Doris

    Is there any way that the widget can display dates that are BC? I’d love to use it for ancient history, but just AD dates won’t suffice…

    • BC

      Sorry, no. Please see some comments below for an explanation.

  • Chris

    This is great work my friend!

    I’m wondering though, is there a short code that I could enter that would display this on a stand alone Page rather than a widget? I would love a dedicated Page to display this info rather than having it in a sidebar widget.

    • BC

      Yes a [tdih] shortcode is included. It is described in detail under the Help tab on the Historic Events admin screen under shortcode.

  • Greg

    Is there anyway or shortcode to allow event custom posts also to be pulled into a page? In my case i want people to be able to comment on events or share to a fb page with FB plugin?

    • BC

      There isn’t a way to do this currently, but look out for a shortcode in a later version.

      Edit: This is now possible since version 0.9 and enhanced in version 1.0.

  • Rick @ 4-H History Preservation

    Your plug-in is exactly what I’ve been looking for. Is there any way to do a bulk import? We’ve been creating an event library for a while now, and having to re-enter them one at a time is getting painful.


    • BC

      There is a way to bulk import but not with this plugin. You need to use another plugin designed to load CSV files as per the instructions above.

  • Katie

    Is there anyway to have the widget appear on days with no event, maybe with a call to action (ie “if you know of any events on this day, let us know”) without actually going through and adding this as an event for all the days without entries?

    • BC

      Not at the moment, but this is a good idea and I will try to add it in the next release.

      Edit: This is included in version 1.0

  • Michelle

    Hi there!! I love this plugin!! I have a question – is it possible to view previous day’s entries on a website? We would like visitors to our website to be able to view previous entries. Thanks!

    • BC

      It is not currently possible with the plugin which is designed to only show entries for the current day although it might be updated in a future version to allow a choice of yesterday as an alternative.

      Edit: It is now possible from version 2.0 to list today’s, yesterday’s or tomorrow’s events.

  • Ray

    This might be a bug so I’m reporting it, I didn’t see anything above about it. I changed the Number of Events Per Page to 100 so I could see more. I then started adding events and I wanted to check to see if something was already in there. I did a search and it showed that it had 2 items but the items were not shown in the list. I changed it back to 10 and tried the search again and this time teh two items were now shown in the list.

    • Ray

      After messing around with it and trying different settings It seems to be working. I eventually set it so I could see 50 listings, did a search and was able to see the search results, then I set it back to 100 and I am able to see the search results now.

  • Ray

    This is a great widget! I do have a question on how to set it up. I have set up six event types, but when I use them in a widget, I’d like only a few types per widget. Right now the “Filter Events by Type:” allows you to view all types or select individual event types. Is there a way to select maybe two types in one widget and three types in another widget and one type in yet another widget?

    • BC

      Thanks, I’m glad you like the plugin. You can have one type or all. There is currently no way to select multiple-but-not-all event types.

  • Sharon

    I love, love, love this plugin and have been happily using it since I set up our new website last year.

    But…had a slight hiccup when I updated to the most recent version. I first updated my theme framework and wp version so all was current. I had no event types set up.. but each entry had reproduced itself 3x, so I had 4 versions of the same entry. I went through and deleted the extras. Don’t know what that was about but wanted you to know in case there’s a glitch somehow.

    (I did deactivate and then reactivate the plugin just in case that was a problem but still had 4x of each entry.)

    Then I tried to set up to sort the events on my admin screen the way I saw them before, which was sorted by month, day…but the year didn’t figure into the sort. Like this:


    In the new version, whether I save the settings as day first or month first – it sorts first by the year. Like this:


    How can I change or configure it so that it sorts by month and day on the screen so I can figure out what days of each month I still need to add an entry for? (again, the year doesn’t matter to me in regards to sorting).


    • BC

      Thanks for letting me know. I have no idea about the duplicate entries and it’s not something I can reproduce or even see how it can happen. Hopefully you won’t have further issues.

      The change in sorting is a result of moving the events to the posts table. I will look to see if an option to sort without year can be added for the next version.

  • Jessica

    I just started setting up my website and am still unsure about all the content at this point but I found TDIH last night and it is PERFECT for one of the things I wanted to implement! I am still completely new to this and this plugin took me a few minutes to figure out but in the end is easy to use. Just wanted to say thank you!

    • BC

      You’re welcome. Thanks for the positive words.

  • Lars


    I would like to have the year to be displayed in bold and a linebreak so it gets easier to read. I´ve tried to edit the code without success, any suggestions?

    Regards Lars

    • BC

      You can style the year in CSS however you like using the tdih_year class e.g.

      .tdih_year { display: block; font-weight: bold; }
      .tdih_year:after { content: '\a'; white-space: pre; }

      will do what you ask. Just add it to the style.css file of your theme.

      • Lars


  • Rick Alber

    Thank you. That gets my date and event description in perfectly. Since I need to set up two event types (“Birthday”, and “HistoricalEvent”) I need to get a bit of clarification on taxonomy naming. If I use the TDIH Event Types page to create the two event types what taxonomy names am I creating? Also, when I try to delete an event type using that page I get an error message.

    Thanks BC!

    • BC

      Pre-creating the event types is a good idea. You will need to use the event slug I guess, although this depends on the import utility – you should ask the author of that plugin to be sure.

      What error are you getting? I can delete event types without any errors and can’t replicate this issue.

      • Rick Alber

        I can’t replicate the error message anymore either! Must have fixed itself. BC, what CSV import utility have you used that successfully handles custom taxonomy types? The one I’ve been using, “CSV Importer”, claims to be able to import custom types but I have my doubts. When I run the importer it always returns an “unknown taxonomy tdih_event” error message. It does import the csv records and correctly assigns a “tdih_event” post type.

        • BC

          The taxonomy name for the event type is not tdih_event but event_type. Try using that name instead.

      • Rick Alber

        Thanks again, BC. It works fine now.

  • Rick Alber

    Hi. Any progress on developing the capability to have 2 instances of TDIH working at once, as I described in my message of June 26?

    Thanks again for the great plug-in!

    ——— Rick

    • BC

      You can do this now using different event types for each list of events and then adding different widgets each set to show only one particular type. Ta Da! Multiple lists of different events and only one install of TDIH required.

      • Rick Alber

        Thanks a ton on this. I think I’m close but still tripping up on import. I’ve successfully used WordPress CSV Importer to import dozens of message posts. So I used it to try to import some event items as type=tdih_event posts as described above. The importer creates a new event but fails to assign a date or event type to the item. My CSV data file uses the MM-DD-YYYY format for the date. I don’t see an obvious way to designate the event_type value. Can you help me on this?


        • BC

          You need to import the event date as text in the format YYYY-MM-DD as this is how the plugin stores the date. The date is stored in the post_title field (this allows for very old dates) and title goes into the post_content field (this allows for long and complex events) the post_type is tdih_event. If you want to add an event_type as well this is a taxonomy term of event_type; not all CVS importers handle custom taxonomy types so this might not be possible – sorry I have not used that plugin so I’ve no idea in this case.

  • Bill Kovarik

    Im using This Day in History for my environmental history web site. Its very helpful; my compliments to the chef. I just upgraded to WP 3.5 and TDIH 0.9 and there are two new problems now. One, I can’t filter by month and day, which is important for me to do in order to see what I have to work on for the coming week. I can sort entries for individual days, but not for whole months, which I could do with version 0.7. Secondly, sometimes when I use a search term I get a list of everything on my site with that term, not just items in TDIH. So for example Ill search for September and it returns lots of other entries (for example all of the September 11th material on the entire site, not just TDIH). So, any advice would be appreciated. Thanks. — Bill Kovarik

    • BC

      The search thing: I can repeat and it looks like a bug – now fixed on 0.9.1

      The filtering thing: Can you explain how you filtered only by month – do you mean in the widget or on the admin page? On the admin page you can search for -MM- (e.g. -10- to get Octobers events for every day and year if you have month in the middle of your date type anyway i.e. not MM-DD-YYYY) but I’m not sure how you did this in the widget (if you did). Please can you provide some more info?

      • Bill Kovarik

        Hey Brokencrust – thanks ! 9.1 fixed the problem. About filtering to make editing easier — What I did in 7.0 was type the number of the month into Search Events, and it would give me everything in the month ordered by day. Right now it is ordered by month and then year. That makes sense except when you’re working on the display of a day’s worth of history, you want to make sure the elements fit together and I know what I have to work on next. But its not as big a problem as the 9.1 fix.

        Again, thanks. This is very cool.

  • stf

    Thanks for making this great plugin!
    I just have to agree with the ones desiring an import function. Several hundred entries will kill my arm (– or actually the arms of the poor kids doing this over the next week or so).

    • BC

      Thanks for the feedback. You can import now using a standard CSV file importer so long as it allows you to use a custom post type (of tdih_event). I might do this in a future release, but to me it seems like too big a feature for this little widget plugin.

      • Rick Alber

        I’m know I’m being dim about this, but I still can’t find a table to import my events into. I’ve looked throughout the /wordpress directory on my site and read through tdih-init.class.php for a reference to the table, but haven’t found it. Can you provide a little more info for this newbie?


        • BC

          The events now don’t have their own table; since 0.8 they are stored as posts with a post type of tdih_event (in the wp_posts table). You can use a standard WordPress importer (do a plugin search for CSV post import fr example) so long as you can set the post type correctly they will be imported as events.

  • Gian Luigi

    thanks for this usefull plugin.
    It´s possible for future upgrade to add an external link (or make the text linkable) to the events ? Or just a link to a list of today or this month event ?

    • BC

      The latest release (0.9) includes a shortcode. You can create a page (or post) add the shortcode to it and then link to this page for a current list of events for the day in the normal way you do for any page (or post).

  • Kir

    Hello, BrokenCrust!
    I have just added your plugin to my wordpress, but strangely it doesn’t want to work… I installed it as it was written, but when I’m trying to choose “Historic Events” in administrator board, it throws out an error:
    Fatal error: Call to undefined method stdClass::add_help_tab() in /home/www/ on line 185
    However, I can add event types… Am I doing something wrong?

    • BC

      You need to have WordPress 3.3 or above to use this plugin. Your error suggests that you are using a lower version.

  • Rick Alber

    I’d like to have two separate instances of TDIH appear on my WordPress blog. I’ll load one with famous events, the other with birthdays of famous people. I assume the way to do this is to rename a copy of TDIH and activate it as another plug-in. Do you think this will work? Is there a better way to accompish what I’ve described?


    • BC

      It is possible to have two instance of the plugin but you’d need to replace a lot of the names in the code (it is not been designed with this in mind). In the next version (0.8) it will be possible to use event types to mark and filter different content so you can enter all the events in the one plugin and display them separately (or combined) if you wish. I suggest that you wait until this version is available in a week or so.

      • Rick Alber

        Any progress on the new version which might support event types?

        • BC

          Sorry although I have been working on it, it isn’t finished and I have been side tracked onto something else. It will most likely be a couple of months away or so.

  • Rick Alber

    I love this plugin and have included it on my Dr. Science site. However, I have a large list of events with dates that I would like to put in the widget. Entering 7 or 800 of them (some dates have more than one event) one at a time will probably kill me. Is there a way to import a table of events or upload a .csv file containing the information?

    Thanks again for creating this!

    • BC

      There isn’t a way using the plugin. CSV uploads are a bit complex for this simple plugin but there are various MySQL tools for importing CSV files that you could use to fill the wp_tdih_events table yourself.

      • Rick Alber

        Thanks for the quick reply. I’ll tackle the MySQL toolset to get the data in there, but could you point me to the location of the wp_tdih_events table? I looked all over for it in the WordPress folders but I don’t see it.


        • BC

          The table is defined by the widget in tdih-init.class.php which you can find in the this-day-in-history directory under wp-content/plugins.

  • Genie

    I am just noticing the bottom which gives additional attributes.

    First off, I love this program. I will five star it once I have used it a little longer and now know about the additional attributes.

    I will be using it for celebrity birthdays, which will never change, and I assume once the script has gone through the full year of events, it repeats.

    I have many events such as DVD release dates, and other time sensitive events. Could it be too hard to add a check box YES/NO to remove the event once the date has passed? For my work and maybe many others, that would be a great additional tool for the script plugin.


    • BC

      I’m not sure what you mean by additional attributes.

      As I understand it you want to mark an event so that after the day it is shown it will be removed and not shown again the following year? This is possible but not really how this plugin has been designed to work. I need to look at this to see if it can be incorporated into the plugin in a way that it doesn’t negatively impact the normal use of the plugin.

  • pinelo

    great plugin. I recently added this plugin to a friend’s website. He is an ‘editor’ user but does not have access to imputing events in the plugin. is there a way to give him access without switching his user type to ‘administrator’? your help is greatly appreciated.

    • BC

      Unfortunately WP still doesn’t have built in functionality to manage capabilities, so you need to use a plugin (such as User Role Editor) to update the Editor role to have the manage_tdih_events capability (in the plugin this is a simple click on a check box).

      • pinelo

        that worked perfectly. thank you.

  • Sello Makoa

    How can I manipulate the widget also to show yesterday’s and tomorrow’s events?

    • BC

      You would have to change the query to select the three days. I guess that you’d then need to display each day one after the other rather than all mixed together. The widget isn’t designed to display more than one day so it would be easier to create a new widget to specifically do this.

      Edit: From version 2.0 it is possible to display events for yesterday or tomorrow instead of today. In the new tdih_tab shortcode there is further possibilities for a filtered list.

  • Kayumba

    Your plugin is very good one.
    1- In administration panel, Can you make that the date of event will appears in european style (DD-MM-YYYY), please.
    2- It’s will be better to have more space for “event name”. It’s very short to write some details of events.
    3-It’s will be great to import/export some .txt file with list of events.
    Waiting for your answer.

    • BC

      In the next version (0.6) there will be an option to change the date format and the input area and maximum length of the event name will be larger.

      For the import and export, it is a nice idea, but it is not something I will implement now because it is too complex in comparison to the rest of the plugin – i.e. it will take all the support effort for this part alone. I might look at it in the future.

  • 80sWeb

    Hi BrokenCrust!
    Love the plugin, thanks for the date update! Having a minor issue with adding html tags in the quotes. They show up aok but if I go back to edit the entry afterwards, the html is rendered on the edit page, making it impossible to edit.
    Once again, thanks for the plugin!

    • BC

      This is fixed in version 0.5 and more to do with double quotes not escaping correctly when editing. Thanks for the bug report.

  • Guinevere

    Hello BrokenCrust, I installed the Plugin and placed in the widget bar. My events show up, however the event that shows up is always for the following day, rather than the current day. When I first installed the plugin I had not updated the correct time zone for my site, so it may have picked up on the UTC time. (I am in UTC -8.) I updated to the correct time zone, but this did not correct the problem. I uninstalled and reinstalled the plugin, but the problem persists. How do I get the plugin to show events for today’s date according to my time zone? Thanks. Gwynne

    • BC

      Thanks for reporting this. I had always meant to add the adjustment for local blog time, but left it “until later” and then promptly forgot all about it. It is now fixed in version 0.4.

      • Guinevere

        Thanks for the update. It works great now. Love the plugin!

      • Gene

        I have just downloaded this and it’s a day off. I have put some test items in to try it out. Today is Sept. 1 so I put in a few thing in for Sept. 1 and then some items in for Sept. 2. It’s showing Sept. 2nd information not the Sept. 1st information. In settings I have my UCT set to the local time, it’s showing correctly. Am I doing something wrong?

        • BC

          I can’t replicate this issue so I suspect that it must be something to do with your timezone settings.

  • Travis

    I have installed your plugin and I placed it in the widgets side bar for display. I added events to the history but it does not show up on the site. Is there something in particular I need to do to in order for the calender/events to show? Thank you for the time

    • BC

      No there is nothing special to do after that. It will only show events that occurred on the same day of the year – if there are no events for “today” the widget won’t show at all.

Leave a Comment

Your email address will not be published. Required fields are marked *