Posting some WordPress tips at the day job

During the week I work at a Vermont-based web agency called Union Street Media, where I’m fortunate to spend every day working with a great team on WordPress-powered websites. I’m going to start posting some of the things you’d usually expect to see here at on the company blog. It will mostly be tips that I uncover during the work day after failing to find a good solution via Google. The first of these posts covers adding content to the end of all posts of a specific type. I’ve used that technique to build a plugin which allows our project managers to create project milestone signoff forms directly on the site.

Stay tuned for more WordPress posts from me both here on and over at the USM Interactive Blog.

Get An RSS Feed Of Your Youtube Subscriptions

Updated July 7, 2015 – It looks like YouTube has disabled it’s combined subscription feeds. You can still download an OPML file of your subscriptions’ individual feeds and import all of them to your RSS reader. To find the OPML file visit YouTube’s Subscription Manager and click the “Export Subscriptions” button at the bottom of the page. The original post follows, but the instructions no longer work.

Following the announcement that Google Reader will be shutting down, I’ve been looking for a new place to read my content. I’m still not sure where I’ll land on that, but the change has me thinking about how I consume content as well. I’ve decided I’d like to do more of it in fewer places (the goal of RSS to begin with.) To that end, I’ve added my Youtube subscriptions to my feed reader. Here’s how you can get an RSS feed for your Youtube subscriptions, too:

Make Your Feed Available

First, make sure your feed is publicly available. Go to and uncheck “Keep all my subscriptions private.”

Get Your User ID

Next, get your Youtube user ID at You’ll see your YouTube User ID listed.

Finally, replace {USER_ID} in the following address with your own User ID and you’ll have an RSS feed for new videos from your subscription list.{USER_ID}/newsubscriptionvideos


Updated Fluid App Userscript for Gmail Unread Count

Screen Shot 2012-12-19 at 9.39.48 AMI’ve been enjoying using a Fluid App for my Google Mail account and I bought the Pro version for $5, primarily so I could get a badge in my dock with a count of unread messages. Unfortunately, the script that ships with the app to display this account no longer works, likely due to changes in Gmail itself. The original script parses the very complex markup to get the inbox value. My simplified script just reads the window title to determine the unread count. Here’s how to install the script:

  • Window > Userscripts
  • Create a new script
  • Pattern: “**”
  • Script:
window.fluid.dockBadge = '';
setTimeout(updateDockBadge, 3000);
setInterval(updateDockBadge, 15000);

function updateDockBadge() {
	var title = document.title;
	var regex = /s*Inboxs*((d+))[^d]*/;
	var res = title.match(regex);
	if (res && res.length > 1) {
		var newBadge = res[1];
		window.fluid.dockBadge = newBadge;
	else {
		regex = /^Inbox -/;
			window.fluid.dockBadge = '';

How it works:

It reads the window title and detects if you’re in the inbox and if there’s a number representing unread messages.

  • If so, it puts that number in the badge
  • If not, but you are in the inbox, it clears the badge
  • If you are viewing a message it does nothing to the badge since the unread count only shows on the inbox

This is obviously less technically clever than a script that reads the inbox count from the page markup directly, but it’s much less likely to break with changes to Google Mail, and much easier to understand and therefore fix if something does break.

As an aside, if you’re looking for a fancy Gmail icon, check out this set in the flickr Fluid Icon Pool.

Update: This works if you use English language settings for Gmail. Otherwise, you’ll have to change the word “inbox” to whatever is appropriate in your language.

Zeitgeist.css Chrome Extension

I’ve put together a small Google Chrome extension which automatically adds Zeitgeist.css to any page which is unstyled. Install the extension here, or read on for more info. and source.

About Zeitgeist.css

Zeitgeist.css is a fun project started by Ryan Freebern which aims to create a default styling for web pages that reflects the aesthetics of the day, whenever that day may be. In Ryan’s word’s:

zeitgeist.css is a crowdsourced, extendable basic CSS file that imparts a design based on current design aesthetics to any simple HTML file, such as those produced by compiling markdown.

Think of it this way: If you make a web page and add no styles, it looks dated. Zeitgeist.css aims to bring those pages up to date easily. As easy as Ryan makes it, however, it isn’t automatic. That’s where this extension comes in. It checks every page using JavaScript’s querySelectorAll method to determine whether styles have been applied via a link element or a style element. If not, Zeitgeist.css is automatically applied.

Design Refresh

For the first time in years I’m making not-insignificant changes to the design of this site. The last design even survived a complete rewrite and update of the HTML. Now I’m adding a fresh coat of paint to complete the update. I’ll be iterating on this design for a while–consider it something of a live redesign. There may be a few rough edges, but I’ll try to smooth them out over time. Thanks for sticking around.

Simple 301 Redirects Version 1.02 (and 1.03) Released

I’ve released a bug fix version of Simple 301 Redirects for WordPress. Version 1.02 fixes a couple of bugs and 1.03 adds PHP4 support, which I carelessly neglected in 1.02. It seems that a lot of people still use PHP4 even though it’s been officially dead (i.e. unsupported and with no security updates) for over 2 years. You can get the latest version of the plugin by updating from your admin system or by visiting the WordPress plugin directory.

TeuxDeux iPhone App Released

TeuxDeux, my favorite simple to use and difficult to spell todo list application, has quietly launched an iPhone app. They’re apparently waiting to announce it later this week, but Tina Roth Eisenberg (the designer behind TeuxDeux) recently talked about it on The Pipeline with Dan Benjamin. The app costs $2.99 and supports all of the features of the free browser-based version plus support for multiple accounts, and it’s always in sync with your accounts on the website. You can buy the TeuxDeux app here (iTunes link.)

Stop Friends From Checking You In With Facebook Places

Facebook Places adds geolocation to Facebook, allowing you to share where you are, what you’re doing, and who you’re with. It differentiates itself from Foursquare or Gowalla, with an interesting additional feature: it allows you to check your friends in with you. This is a cool feature but it is certainly open to abuse; your friends could check you in somewhere embarrassing as a practical joke. Depending on who’s watching, you may find it causing problems for you.

Here’s how to prevent other people from checking you in on Facebook Places:

  1. Click on Privacy Settings
  2. Click Customize Settings
  3. Under Things Others Share, disable Friends can check me in to Places

That’s it. I’d like to see the ability to select certain people or friend lists which are allowed to check you in (or filter out people and lists which are not) but for now it’s an all-or-nothing setting. I’ll update this post if the options around this feature become more robust in the future.

Hulu Is Out Of Beta. Watch This Show.

Hulu is now live and streaming shows new and old from major TV networks. Watch every episode of Arrested Development right now. It’s the best show ever to be aired on television. You won’t regret it.

Now that it’s out of beta the increased load seems to be straining the content delivery network; the sound quality has decreased quite a bit. Still, there’s a bunch of content available and it looks really good. For the price (free) you can’t complain too much.