Birthdays List


My genealogy websites use TNG – The Next Generation – and over the years I have come up with a few additions and modifications to enhance my sites. Some of these are available here.

The TNG-WordPress plugin, developed initially by Mark Barnes and for the last several years maintained by Roger Moffat and Darrin Lythgoe can be found here at the WordPress plugins repository.

If you like any of the files available here and they have helped you enhance your TNG site, please feel free to make a small donation.

filesize 5.55 kB
Version 10.1.2
Date added March 8, 2018
Downloaded 447 times
Category TNG 10.1, TNG 11.0, TNG 12, TNG 13, TNG Add-ons, WordPress

An add-on script for TNG that produces a list of birthdays from your database. It is configurable to look into the future a specified number of days (default is 0), to work based on the user’s local time, has configurable output and supports multiple languages.

Updated version now includes “Last Name Prefix” as part of the last name if you’re using that option in TNG. Thanks to Edward van der Maarel for letting me know this was missing.

Update 1.2 tidies up the code some, and corrects an issue where if the script was called directly (rather than embedded in a page) Living people would show in the list.

Update 1.3 is updated for TNG 8.x.x, including the new location of the language folders and to use single-quoted variables as most of TNG is now using. If you need the (now un-supported) version for TNG 7.x.x it is available from this link.

Be sure to read the Read Me file included in the download.

You can see this in operation here
and included on this page

This version is compatible with TNG 10.1, and works with TNG 10.1, TNG 11.x, TNG 12.x, and TNG 13.x It is also capable of being used in WordPress in a widget that allows execution of PHP code – e.g. the Enhanced Text Widget.

Version 10.1.1 corrects a couple of errors that showed on some websites under some conditions.

Version 10.1.2 corrects an error introduced in 10.1.1.


  107 Responses to “Birthdays List”


    Bold Ancestor Links and cfg files compare identical with BeyondCompare software. …no changes but the version. The [/strong] change doesn’t show up.



      Hmmm – I must have fixed the problem earlier with without changing the version number. There was a closing tag written as in the .cfg file that was in use on my site, so I copied the Mod code, made the correction and made a new version without checking that the download of said what the file in use on my site said. I’ll remove the Thanks!


    Hi Roger,

    I’d like to suggest that you update the code of the wp plugins to support UTF-8, by adding utf8_encode() around variable like names etc, so instead of “$dbrowh[‘lastname’]” you’d write “utf8_encode($dbrowh[‘lastname’])”

    That way output like “Kirsten S�rensdatter” can be displayed like “Kirsten Sørensdatter” etc.

    Best regard


    Hi Roger,

    Thank you. I’ve found your scripts and they’re great. I have to ask – is there any chance you’d be willing to share your index.php file?

    Best regards


    Hi Roger,

    I’d like to accomplish a look similar to I’ve chosen the suffusion theme but things look nowhere similar, see

    As far as I understand your reply I’ll have to edit the png/index.php file. Is that correct?

    Best regards


      Yes – the file tng/index.php is what controls that page. So you can remove things from it – eg the list of menu items on the side, and replace it with other content. Most of what appears on my index.php page is controlled by various scripts that are available to download from my Downloads page – eg the lists of birthdays, anniversaries, etc etc


    Hi Roger,

    I’ve tried to find the answer but failed. I’ve made an wp + tng + tng plugin installation. It’s working but my genealogy page is looking far from yours. Mine is very basic. I’d love to have a design similar to yours but I have no idea how to get there. Could you please point me in the right direction?

    Thank you for your time.


      Hi Søren

      Do you mean the index.php page, or the overall look of the site in general? If you want the main index.php page to be different, then you need to edit the file index.php that is in the TNG root folder.

      If you’re talking about the look of all the pages, then you can alter that – colours, text etc by editing the file mytngstyle.css that is in the css folder in the TNG root folder.



    I can’t seem to get any of the birthday, anniversary or death lists working 100% on user pages in TNG version12.
    Nothing displays when logged out in fact nothing past the code displays.
    They display okay when logged in though.
    The trouble is that these user pages are introductory pages to certain branches of my website so the lists will have to go if this can’t be sorted
    (They were working okay in TNG10.)
    Any idea why?


      Have you downloaded the newest versions of these files recently?

      TNG 10.1 introduced new query syntax that uses mysqli not mysql, but I have updated the scripts to use that long ago.

      Has anything else changed – like the path to the scripts relative to TNG?

      Is there anything in your site’s error logs when you try to load a page that contains the scripts?




    hope all is good. Looking for info on possible updates/ upgrades to 2 different scripts.

    first the old “list_birthdays.php”

    Is it possible to add a function to show
    1) Only persons in the current users “assignedbranch” ?
    2) Only ‘milestone’ years (5,10,15,20…etc)
    3) both birthdays AND Anniversaries?

    Most of my users say the list is too big (because in many cases they have over 12,000 persons related to them in the database)
    So they would only like to see those milestone years.

    I will start a diff message for the other…
    Thanks for your time on these great add on scripts for tNG!


    I’ve downloaded and installed the mod. (And made a donation.)

    I installed it and hit the “Create Sitemap” button. From the instructions, I expected it to take a while.

    But the page has bee at this point for 40 minutes:

    “TNG Sitemap Creator
    Please wait… sitemap being generated from TNG database. This may take some time depending on the size of your database.
    Records Processed:”

    Nothing further. Anything wrong on my end? Running 11.1.2

    Downloaded from this page:


    is something broken here?

    I come from TNG wiki to download a mod. But where is this mod (Create sitemap mod) ??

    What am I doing wrong?



      Jürgen – sorry about the problems – an update to the Download-Monitor plugin rendered it all not working. I’ve got all that sorted out, and just now have to update the TNG Wiki with the new links.



    Hi there, I recently updated tng from 11.0 to 11.0.1 and the relationship to site owner is showing more than the usual relations..

    i know i relate twice to this individual but now it shows 4 times.. It flips the parents and relists them again.. if you get a chance to look.


      Thanks for letting me know – I hadn’t noticed that for example on my site it gave a single line between me and my great great grandfather, but when you clicked that line it gave two charts that were the same, but name the relationship in two different ways – that William was my great great grandfather, and that I was William’s great great grandson. I’ve made a change that mirrors a change Darrin recently made so now it’s back to a single chart in this circumstance. It’s available to download here – give it a try and see if it works for your page – i.e. for that page with 2 relationships you get two charts.


    I have double checked and everything seems to be correct…


    I was wondering if your TNG mod Relationship to Site Owner works with the latest version of TNG? I have been trying to get it to work (mod version 10.1) and I haven’t had any luck. Any suggestions?


      Yes it works just fine.

      Are you SURE you have set the correct parameters in the Options in Mod Manager for TreeID and starting person ID?


    Don’t know if my last submission got to you. The Bold Ancestor Children Links will not install, due to likely conflict with Family Preview Mod.
    line 11: %target:getperson.php%
    line 13: %location:% not installed
    line 21: %location:% not installed
    line 29: %location:% Bad target
    Can this be fixed by sequencing the Mods and changing a line?


      I’ve revised the Mod so that hopefully it can now install before or after the Family Preview Mod. Uninstall and then Delete what you’ve got and then try the new version.



    Just a word of caution… the anniversary lists (birthdays, weddings and deaths) currently display details of people marked “private” in your database.
    I understand Roger is working on a solution.


    Re : Pulling dates from a specific branch…

    Kia ora Roger,
    With a few tweeks of your code, I think I have managed to get this going. It’s not the tidiest of solutions but it seems to work ok. I could send these files through to you if you would like to inspect?… working examples are on my site.


    I was wrong about the display. The best way for me to explain the issue is for you to go to my page. The link is located at and you will see at the right hand column that today (10/31/2015) there is a death showing but no birthdays being displayed. There are two living people that have a birthday today but they don’t show unless you log in. You can use guest/guest to log in to see what I mean.


    Thanks for your response…don’t know what happened but when I went to the site today, the person was listed with a link that was accessible when logged in. As you say, it is doing what I want it to do.

    One other question about your Top 10 Surnames script, what part of the code would need to be changed to reflect two columns of 5 names each instead of one column listing all ten names?


    It is working as the current design intends.

    I am not sure that it has ever done as you expect it to do – show the names regardless of whether someone is allowed to see Living or not and then show the link depending on this.

    Yes it could be altered to do what you are expecting it to do, but not today, and probably not tomorrow.



    Perhaps I wasn’t clear on my initial post. What is happening is that if someone living has a birthday, that person’s name does not appear at all unless you are logged into the site. Once you are logged in, the person’s name appears and it has a link to its information. If I read your response correctly, the script is supposed to do what I am asking it to do, however it is not happening. As for changing the query, I don’t have enough knowledge about queries to attempt it.


    I very recently downloaded your birthday, anniversary and death scripts and got them to work on my site. I seem to recall however, that if anyone had one of those events, their name would appear even if you were not logged in when viewing the page. The difference is that when logged in, you could click on the name and be taken to their information. That does not seem to be the case now. How would I change it to reflect that?



      I’m not sure if it’s ever done what you’re asking for exactly – the scripts do check to see if the user is logged in, and so allowed to information about Living people or not. That is used to determine whether to show the people’s names or not and the $outputoption setting used to determine if there are links or not.

      To do what you’re wanting, the initial query would have to be changed to remove the check if the user is logged in or not, do the query for all events on that date and then alter the output depending on whether or not the user was logged in or not.


    Birthday, Death Dates and Anniversary Lists

    Is it possible to pull dates from a specific tree?
    Is it possible that users only see dates from their specific branch they are allocated to?


      Merv – yes I guess this is possible – the queries would need to be altered to include a query for the “gedcom” (how TNG identifies “trees”). Are you wanting it to be a specific tree, or a tree determined dynamically somehow?

      Same would apply to Branches – it would need to be altered to include the branch in the query depending on what user is logged in, and then use that as part of the query too. I don’t use Branches myself, so aren’t familiar with how that works exactly, so while I imagine it ought to be possible to do this, it might take me a while to figure this out so it works properly.


    Roger, Just following up on the sitemap issue I mentioned before about having a place to store the custom pages urls that should be included in a sitemap index.

    If my understanding is correct, there should only be one sitemap index

    Robots.txt shoudl include either
    Complete listing of URLs to be index or one listing for location of sitemap index.

    So if I need a sitemap creator to review the database for all the correct URLs to include,
    then I think we need a way to add these custom url additions to the sitemap during the create process.

    My thought is to make it a variable switchable on/off
    If on, then it simply will include the custom sitemap “tngsitemap0” to the final tngsitemapindex.xml file

    It’s then up to the site admin to add their urls as needed to the tngsitemap0.xml file.

    Im am not a coder, but I believe some code snippets would be like;

    %desc:Set this to 1 to include a custom url list in the sitemap.The default is (0)%

    $indexcustom = “0”;

    if ($indexcustom) {
    // add custom urls to index

    // Add file location of custom urls xml file


    Is this something you could add to the current sitemap create mod?

    Thanks for taking the time to review.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>



This site uses Akismet to reduce spam. Learn how your comment data is processed.

© 2000 – 2020 Roger’s Ramblings Powered by WordPress Suffusion theme by Sayontan Sinha
%d bloggers like this:

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.