A few months back I wrote a post that featured a chunk of code I use when developing/debugging WordPress sites. All it did was display the path to the template file that was being used to display the page you were viewing. Not overly complicated or anything, but super helpful and a time saver. After I wrote the post, Toby Cryns did what I should have done; he wrapped it in to a plugin and released it to the WordPress repository. Smart.
I’ve been using that plugin pretty much every day since. But this past weekend, I ran in to an issue with it. Because it was originally written to display the path to the template right before the header, it was really causing trouble with the theme that I was working on. So, I was wasting time turning the plugin on and off whenever I needed or didn’t need to display the path. It got very frustrating. So frustrating that I stopped working on the theme and rewrote the plugin. Now, instead of displaying the path inside the content area of the site, it now displays the path in the admin bar. The added benefit being, I could run this plugin on a client’s live site if needed and none of their regular visitors would ever see it. Win-Win!
But that’s not where the story ends.
I liked the new version of the plugin so much, I wanted to release it figuring it would be a time saver for other developers as well. But, what I didn’t want to do was create yet another plugin in the WP repository that was almost identical to another that already existed. There is far too much of that going on already (want proof, try a search for twitter or facebook and check out the 1000+ results for each). Instead, I reached out to the original developer and sent him a copy of the new version of the plugin and asked if I could be a contributor on the plugin. He reviewed the plugin I sent the following day and added me as a contributor for the plugin. I updated the plugin, did a release and now anybody who was using the plugin already will get notified that there is an updated (better) version of the plugin. And, the next time somebody does a search for this type of plugin, they won’t have to spend any time deciding between multiple versions of what was almost an identical plugin.
Whenever possible, consider contributing to an existing plugin before cluttering the repo.