Ping.fm WordPress Plugin

First it was Twitter. Then it was Pownce, Plurk, and Jaiku. Now there’s Rejaw, Identi.ca, Tumblr, and FriendFeed, and more new sites are popping up every day. This whole social networking thing is getting pretty out-of-control, right? What happened to the good ol’ days of just MySpace and Facebook?

Thankfully, Ping.fm came along with a service that posts to all those social networking sites simultaneously. It’s a really cool idea, and it works from the web, email (and therefore, SMS from my phone), and IM. There’s also the option to specify a custom URL to receive POST data so that you can do whatever you want with your updates.

Being a developer with a self-hosted WordPress blog, I immediately set out to put this custom URL feature to use for good and not for evil. Before long, I had developed a WordPress plugin, conspicuously named the Ping.fm Custom URL plugin (catchy and original, isn’t it?). Since the first public release (0.9.1), I’ve added features, fixed bugs, and tweaked the UI on a regular basis.

Here’s a list of what the plugin can do for you, but the best way to learn more about it is to download it for yourself.

Uh. What-what. We got features in da hizzouse:

  • Works with Ping.fm’s Custom URL feature to collect blog entries, microblog entries, and status updates and post them to your blog.
  • Status updates are posted to the sidebar and displayed with a widget.
  • The sidebar widget is customizable with the number of status updates to show and an optional string to prepend all updates with (e.g. you might use your first name if all your status updates begin with a verb like mine do: Matt is…).
  • Blog entries and microblog entries can have certain metadata applied to them automatically. You can set the author, category, tags, and post status (published or draft) for all incoming Ping.fm entries.
  • Your blog is safe from updates by random outsiders thanks to a highly random and highly secure authentication token that only you know.
  • All the cool features of Ping.fm: post to your self-hosted WordPress blog using IM, email, desktop gadgets, mobile apps, etc.

Changelog—this is where the magic happens!

Changes in 1.0.1:

  1. CSS is now targeting #pingfm in a less specific way (because it broke on themes with multiple sidebars).
  2. Fixed random bug only seen in WebKit where a space preceding a status update was considered significant whitespace. (Don’t ask me—I don’t build it, I just code to it.)

Changes in 1.0.0:

  1. The first non-beta release!
  2. Modified CREATE TABLE for installer after reports of it failing on MySQL versions < 4.1.
  3. Added check for widget to determine if database table was created properly.
  4. Tweaked a few textual things here and there.

Changes in 0.9.7:

  1. This version was never released publicly and the changes made for it were rolled into 1.0.0.

Changes in 0.9.6:

  1. Added this page as a home base for the plugin on my site.
  2. Made the README more readable (hopefully). The documentation should be easier to understand now.
  3. Fixed the mod_rewrite example to include the [L] flag. The entire line didn’t get copied from my conf file the first time around.

Changes in 0.9.5:

  1. Minor textual changes and a speed enhancement (eliminated a DB call using some crafty coding).

Changes in 0.9.4:

  1. Added widget options to specify colors used in injected style sheet (CSS).
  2. Reorganized, streamlined, and beautified some code.

Changes in 0.9.3:

  1. Fortified README with some additional information and a mod_rewrite example for shortening the inevitably long URL.
  2. The plugin now auto-detects the directory it’s running from. Anything under /wordpress/wp-content/plugins should work reasonably well. If the WordPress Plugin Directory wants to create a really long folder structure, so be it.

Changes in 0.9.2:

  1. Added support for all types of Ping.fm updates. Blog and microblog posts now show up as actual entries in WordPress.

Changes in 0.9.1:

  1. The initial public release! After being hacked together with loving care during a couple late nights, the code finally sees the light of day. Cue angelic choir and bright background light…