Back in March 2009, I released my first-ever plugin for BuddyPress. BuddyPress was my gateway drug to WordPress, so it’s pretty much the first experience I had with writing PHP and working with WordPress. That plugin was Welcome Pack:
Welcome Pack is a BuddyPress plugin that enhances the new user experience. When a user registers on your site, Welcome Pack lets you automatically send them a friend or group invitation, a Welcome Message, and it can redirect them to a Start Page. You can also customise the emails sent by BuddyPress so that they match your site’s brand, in plain text or rich HTML versions.
With retrospect, adding customisable emails to Welcome Pack is what killed my interest in that plugin. It was such a lengthy, painful slog to get the customisation working and nicely implemented (I picked the wrong approach), that when it was finally done, so was I! I moved onto Achievements, but I still had a dream of giving BuddyPress better emails.
Seven years later, that dream has finally come true. BuddyPress 2.5 (now in beta) features high-quality, customisable HTML emails, and I couldn’t be prouder of how its turned out. Here’s what it looks like:
In a nutshell, we moved emails into a custom post type (BuddyPress’ first!) with a supporting taxonomy (BuddyPress’ second!), devised a HTML email template with Customiser integration, and wrote a new API to manage how we represent emails internally and how we send them (goodbye, wp_mail!).
I’ll write another post detailing the technicial changes, but you can learn a lot by looking at Trac ticket #6592. I hope people running BuddyPress-powered sites enjoy the new email features as much as we did building them.