Cat Signal

Saving all the internets

Last year, there was a thing called SOPA and a thing called PIPA and these things were bad and basically said that the way you do the things you do on the internet need to change dramatically. They were both written by a bunch of guys who have no real idea of how the internet works. The internets came down hard in protesting both bills and ultimately they got thrown out and in the wake of this, the Internet Defense League was born so that, if and when these things that inhibit our internet freedoms rear their heads again, we’ll be ready to stage another protest. And so they built a tool that hooks into a small javascript you can put on your site that will automatically display a banner or a modal window when there is an active campaign. At some point, Matt posted that he’s a supporter and WordPress is listed as one of the participating members.

I had added this to my site once before, the last time this came around, but — as anyone who’s made changes to their theme without first creating a child theme can relate — there have been updates to the theme in the meantime and those changes have since been lost. Because I didn’t want to deal with this again, I searched for a plugin to load the javascript and was surprised to find nothing. So, I wrote this plugin. Cat Signal has a simple admin page where you can choose the modal or the banner, and you can leave it on and whenever the IDL puts up the Cat Signal, you’ll automatically be participating, you don’t need to worry about changing anything. It doesn’t seem to conflict with any minifying plugins or caching, but if you have a problem leaving a javascript on your site that’s not being used, you can deactivate it in between campaigns. If you do that, though, you should sign up for their mailing list, so you’ll get an email right before a campaign is launched.

I also sent an email to the IDL, because I thought they might think it was cool and a linkback to the page might help spread the word and make it easier for WordPress users (and there are a lot of us) to participate without having to hack our themes, and (not to toot my own horn or anything) it was apparently pretty well-received.


How many times have you wanted to display a sitewide notification on your site? I’ve needed it a lot on a variety of sites, and the plugins I’ve found in the repository left much to be desired. I decided to create my own, which is still in development, that I plan on uploading to It’s called, unoriginally, Notifications, and you can grab it here.

This plugin requires the use of the body_open hook in your theme. If your theme doesn’t support it, you’ll need to add it. I didn’t know about this hook but I will start adding hooks to various places in Museum Core in the future, starting with this. It was first proposed on Trac as a way to do exactly what I needed to do, which is display something right after the <body> tag opens.

To use the notifications, add <?php do_action( 'body_open' ); ?> to your theme, then create a new notification from the notifications page.

Right now, it just has a really simple dark background with light text. I plan on adding an options page where there can be “themes” as well as (possibly) a custom css panel to add your own styles. I’m also going to add internationalization support.

Hello, Ziggy


hello ziggy

I’ve had this plugin installed on a number of my sites for a while now. It’s not much, in fact, it was my very first plugin, ever. I finally decided to upload it to the repository. I’m talking, of course, of my Hello Dolly fork, Hello Ziggy. All it does is adds a bit of lyric from “Ziggy Stardust” and adds it to your dashboard screen. However, I haven’t touched it in years, and with the restructuring of the WordPress admin in the last couple major revisions, it was way out of place, expecting a much bigger header. I decided to finally fix up the CSS a bit and, while I was at it, made a GitHub repo and added it to It’s just as relevant (and, arguably, as inspiring) as the “Hello Dolly” lyrics, and who can beat opening up your dashboard to this?