Update: These instructions do not work with the Retrospect 2.0. I will be updating these instructions as soon as I get time.
It turns out that integrating Retrospect-GDS with Wordpress is pretty easy. If you’d like to display your family’s genealogy inside Wordpress this article will tell you how to do it.
Assumptions & Requirements
I am assuming that you have already have Wordpress installed and working and that you are comfortable editing the Wordpress and Retrospect-GDS template files. Your server needs to support mod_rewrite and url rewriting needs to be turned on in Wordpress. These instructions may work without url rewriting, but I haven’t tested it.
Retrospect-GDS Configuration
First, install Retrospect-GDS onto your server by following the Retrospect-GDS installation instructions. From here on I will assume that you installed into a directory called /retrospect. Now login to Retrospect-GDS as admin and change the admin password, then upload and publish a gedcom file. Take a few minutes to browse a few Retrospect-GDS pages to make sure everything is working, because it will be much easier to fix any problems while it’s running standalone then once we’ve started the integration.
Select a virtual directory for use with Wordpress. I chose /genealogy. This will make my genealogy pages available at http://www.infused.org/genealogy
Edit /retrospect/index.php and:
Delete the line containing session_start();
Delete the line containing error_reporting(E_ALL);
Change this line:
To this (if you selected a different virtual directory, replace /genealogy/ with the one you selected):
One of Retrospect-GDS’s internal functions conflicts with Wordpress, so we’ll just delete it. Edit /retrospect/core/f_misc.php and delete these 4 lines:
if (preg_match(‘/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\….
else return false;
}
Edit /retrospect/core/modules/surnames.php and locate the following line (around line 57):
href=”‘.$_SERVER['PHP_SELF'].’?m=surnames&alpha=
’.$p_alpha.’”>’.gtc($p_alpha).’</a>’;
Change it to:
href=”?m=surnames&alpha=’.$p_alpha.’”>’.gtc($p_alpha)
.’</a>’;
Edit /retrospect/core/modules/pedigree.php and change the require_once line (around line 28) to read:
require_once(CORE_PATH.'atree.class.php');
Wordpress Configuration
Make a copy of your archives.php template and call it retrospect.php. Change the Template Name: at the top of the file to Retrospect. Get rid of all the archive specific stuff and include the main retrospect index.php file like so:
include ('/fullpathtoretrospect/retrospect/index.php') ?>
Save the file on your server.
Using the Wordpress admin interface, write a new page (Page, not Post). Enter Genealogy in the Page Title box. Select Retrospect from the Page Template combobox. Enter genealogy in the page slug box. Leave the Page Content blank.
Now go to the Permalinks page under Options and click the Update Permalink Structure button. (If your .htaccess file is not writable, you will need to update it manually).
Now if you browse to your genealogy virtual directory you should get a garbled mix of Wordpress and Retrospect. Try browsing to
http://www.domain.tld/genealogy/ (replace domain.tld with your domain name)
Retrospect-GDS Template
Edit the retrospect/themes/default/index.tpl file and replace the entire contents with the following line:
This will make sure that the header and footer are not being loaded twice. Now it’s just a matter of editing the default Retrospect-GDS template files to match the look and feel of your existing site. It took me about 1 day to tweak things to look right within my fixed width Wordpress template.
I hope all this makes sense! Please post a comment if you have any problems.
Other Issues:
It seems that Wordpress and Retrospect-GDS use the same constant names for the database connection parameters. If you are using the same database for both, then you probably won’t have any problem. If you have each of them configured to use different databases you will need to rename the connection constants in Retrospect-GDS. Do a search and replace on DB_HOST and change it to something else — maybe RGDS_DB_HOST.

[...] our family’s genealogy inside WordPress by integrating Retrospect-GDS with WordPress this article will tell you how to do it. Posted by John in WordP [...]
[...] – trying to figure out why I can’t get the RetrospectGDS to work, because I want to integrate it with WordPress right here on my site, and while doing s [...]
Well, my Mom is very involved in researching the family trees, and has lots of information going way back. I’m trying to build her a blog, and plug in her family tree maker Gedcom files.
I followed your instructions…I thought pretty carefully….and I don’t get anything going to http://better.mastersfamily.org/genealogy. I first installed RDS into a seperate subdomain…http://retrospect.mastersfamily.org, where it is working fine. I then loaded their program files to a “retrospect” directory on betty.mastersfamily.org (accessing the same database). Followed all your instructions, and don’t get anything except Fatal error: Cannot pass parameter 2 by reference in /home/mastersf/public_html/betty/retrospect/index.php on line 59
This happens to be the line where I put in $smarty->assign_by_ref(‘PHP_SELF’, ‘/genealogy/’);
Any help or suggestions would be appreciated. This may be more than I can handle. Also, I was wondering about just making the installation in Retrospect subdomain look the same as her Wordpress Theme. Any more info on how to go about that…is there a simple way?
Thanks,
John
You can change the line
$smarty->assign_by_ref('PHP_SELF', '/genealogy/');to$smarty->assign('PHP_SELF', '/genealogy/');and that should fix the error.To modify the template you’ll need to either modify the *.tpl files in /retrospect/themes/default/templates/ or make a copy of the /retrospect/themes/default directory. If you make a copy of the default directory and call it mytheme you’ll need to modify the theme name in /core/config.php to mytheme as well.
I have a similar problem than the previous posters.
I have followed your article very closely and have verified it
many times, but Wordpress does not show
any Retrospect content when I visit http://myserver.com/genealogy/.
Is your article missing some information when making the Wordpress
Retrospect template (a copy of archives.php) ?
Should in the template be a PHP include($DOCUMENT_ROOT/retrospect/index.php) ?
How does Wordpress know how to include content from Retrospect?
I get Retrospect content correctly when I visit http://mysite.com/retrospect/.
Of course if I rename the retrospect directory to genealogy then I will
get the content, but Wordpress does not wrap Retrospect then..
I’m using mod_rewrite rules in .htaccess:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
I am using Wordpress Permalinks with
Structure: /page/%post_id%
Category is empty..
Can you help me out?
Thanks.
Thanks Jake, I updated the instructions with the missing information and also added some info about the DB_HOST problem you talked to me about.
The above doesn’t work with the recent 2.0 release. Any chance of getting updated instructions? Do you know if Retrospect 2.x is designed to be somewhat embeddable?
Thanks,
Pat
hi, how to do this for 2.0.8 ? thanks in advance
please help.
I haven’t tried it with 2.0.8, so I’m not sure. Has anybody else tried?
Revamping entire site and I tried this with WordPress 2.7 and Retrospect-2.08 No luck