Throwing Hot Coals

Shadowbox JS Plugin Pulled from the Repository

Update: The Shadowbox JS plugin is back in the repo!

I was notified on December 28, 2011 that a complaint was made to the plugins repository team that the Shadowbox JS plugin contained non-GPL code (shadowbox.js). This is correct, and I have known about it for some time, and although I had permission from the author to include it in the plugin download, it still doesn’t make it GPL. Due to this, the plugin has been pulled from the Plugins Repository.

It will likely be some time until I can get it back into the repo, as it is going to require some pretty large updates to the plugin to make use of the WP_Filesystem class to ensure that I can have the plugin reliably download the shadowbox files and put them into place so that they can be used.

I could always strip shadowbox out of the plugin, and require users to download and upload manually, but the user experience of doing such would be horrid, and likely cause a lot of users to stop using the plugin.

In the mean time the plugin can be downloaded from

If you wish to test out the upcoming version that is addressing the issue of including shadowbox.js to get it back into the repository, you can download it from

News Plugins Shadowbox WordPress

Detect wp_head and wp_footer from a Plugin

Normally I start these posts with “Every so often someone asks a question in the WordPress IRC channel that sparks my interest”, however today, to my great surprise someone actually caught my attention on the wp-hackers mailing list.

For those of you who didn’t click through, the question was:

Couldn’t find this on forums or anywhere else.
What can I test to check if wp_footer was placed on the theme?

Before any replies came in I was already interested and when Peter Westwood replied with “The other way to do it is to do a http request based test which a special query arg on which you output a string on wp_footer.“, I was on the hook.

I spent a few minutes writing up a test plugin, to perform only this functionality and responded back to the list. It was pretty well accepted and I got a few comments from Ozh and Andrew Nacin on Twitter. One of the comments was actually an idea, to extend the checks to make sure that the calls to <?php wp_head(); ?> and

<?php wp_footer(); ?> were in the proper places in the code.

Before I get to the code, I want to spend a little time talking about the significance of wp_head() and wp_footer(). These 2 functions are the key to functionality of a lot of plugins and are the real work horses of themes. The wp_head and wp_footer functions allow WordPress core and plugins to hook into your theme either directly before the </head> or </body> html tags in your theme and perform actions. The majority of the time these actions are used to output style sheets or JavaScript, for use by plugins. WordPress core uses it to output a lot of good functionality such as relational links to your RSS and ATOM feeds into the head of the document. Joseph Scott wrote about this nearly a year ago. His post is fairly short but does a good job at explaining why it is important to include these functions.

Back to the original discussion, which was how do we detect whether or not wp_head and wp_footer are called in the active theme, and if called are they called, was it from the proper locations?

In my proof of concept plugin, we hook into admin_init, which will actually use wp_remote_get() to retrieve the frontend of our WordPress site. It calls the url with 2 query vars, that if present will cause the plugin to hook into wp_head and wp_footer and output some content that we will later look for. If the response was successful, as in returning a 200 response code, we will look at the content to see if <!--wp_head--> and

<!--wp_footer--> are present. If they are not we will see an admin notice telling us which problems were found. If those strings were found but they were not found directly before

</head> or </body> the notice will alert you of such.

Without further adieu:

Just in case you cannot see the code above, use this link:

CoolStuff Fun HowTo PHP Plugins Questions Uncategorized WordPress

Shadowbox JS WordPress Plugin Updated to Version 3.0.3

This release of Shadowbox JS has been a long time coming and I am extremely happy to announce its release. With the upstream final release of shadowbox.js 3.0 came a lot of changes to the way this plugin had to work. The shadowbox.js file is now built on the fly and if possible cached to wp-content/uploads/shadowbox-js/. In the event that the file cannot be cached it will be built on the fly and delivered via admin-ajax.php with appropriate JS caching headers.

Other notable features:

  • More filters for overriding numerous URLs, including shadowbox.js and shadowbox.css
  • Require at least WordPress 2.8
  • Remove support for Ext and Dojo
  • Addition of new sub plugin titled “Shadowbox JS - Use Title from Image”, which will grab the title attribute from the child <img> tag if it exists and push it onto the parent <a> tag if a title does not exist.

If you run into any bugs please use the Shadowbox JS support forum for problems or questions with this plugin. Support questions will be ignored if left as comments on my site, through my contact form or by email. The only supported location for support questions is

News Plugins Release Shadowbox Support WordPress

Busy Times Ahead

For those of you who follow me on twitter you likely already know that I am about to move half way across the country to take a new job. A few weeks ago I accepted a job with Rackspace and will be moving from Boonsboro, MD, population 3,399, to San Antonio, TX, population 1,351,305. I’m leaving for Texas on December 28 and have an expected move in date of December 31. Considering the time of year and the incredibly fast paced relocation I will be considerably less involved with WordPress and freenode until things start to settle down.

If you are in need of something just be patient, I’ll try to get to everything by sometime in mid March. I have some exciting updates to a few WordPress plugins that I hope to be able to get out in a reasonable amount time, so keep an eye out.

Boonsboro Locations Maryland News Plugins San Antonio Texas US WordPress

Finalizing Plugin Handoffs

A month or so ago I began giving away plugins to other authors. I just wanted to take a moment to announce which of the remaining pluigns are going where.

Two plugins will be transferring to Michael Torbert:

Another plugin will be going Andy Stratton:

As of now I am no longer supporting these plugins and requests for support should go to their new authors.

Thank you very much Andy and Michael for taking over development and supporting the community.

I am still finalizing details on the Ajaxify FAQ-Tastic plugin with another author. There should be an announcement for this plugin and author soon.

News Plugins WordPress

Write Good Plug-ins and Get Involved in WordPress Development

This is cross posted from the WordCamp NYC site. This post will show up there at some point today.

Howdy, I’m Matt Martz. The majority of you probably know me as ‘sivel’ and I will be doing two separate talks at WordCamp NYC on Saturday, one in the Advanced Plug-in Dev Track and one in Beginners Plug-in Dev Track. The two topics I will be covering are Intermediate Plug-in Development Techniques and Writing Your First Core Patch. I will also be spending as much time as I can in the ‘Hacker Room’ helping people test and write patches for the upcoming WordPress 2.9. If time permits I’ll try do spend some time at the Genius Bar as well.


In both of my sessions I will be doing Twitter based giveaways. I will be giving away 5 items to randomly picked people who attend my sessions. If you want to find out what I am giving away you will have to come my sessions. Winners will be picked automatically at the end of each session using a WordPress plug-in I wrote specially for the occasion.

Intermediate Plug-in Development Techniques

We all strive to write good plug-ins. Plug-ins that not only function well, but plug-ins that have sexy code and use the WordPress APIs whenever possible for tight integration into core. I’ll go over some of the techniques which I believe will help take your plug-ins to that next level. Techniques will include:

  • Splitting Plug-ins into Multiple Files
  • Tips on When to Load
  • Using Classes
  • Localization
  • Ajax
  • If time permits I will try to touch base on a few other items

Writing Your First Core Patch

There are a lot of people out there that I see every day saying they found a bug or want a feature, but in the end never do anything about it. I’ll go over testing to verify the bug, getting assistance from the community, using the WordPress provided resources, explaining Trac and ticket fields and if time permits giving a few demos for actually creating that patch.

Code Plugins Talks Technology WordCamp WordPress

Shadowbox JS WordPress Plug-In Passes 100,000 Downloads

At 21:30UTC on November 5, 2009 my Shadowbox JS WordPress plug-in passed 100,000 downloads. Thank you to everyone who has downloaded and used this great plugi-n!

Asides News Plugins Release WordPress

Shadowbox JS WordPress Plugin Updated to Version

Another day and another update. The Shadowbox JS WordPress plugin has been updated to version There are several new features such as generic image sizes and the option to not load sizzle.js. See the change log for a full list of changes.

Asides News Plugins Release WordPress

2 More WordPress Plugins Have New Homes

Since my announcement on Twitter and my interview on WPTavern, most of you likely know that I decided to cease development and support for several of my plugins. Part of the process of doing so is finding new homes for these plugins so that they can live on. Two more plugins have found their new home with Travis Ballard, who many of you know from Twitter or IRC as ansimation or ansi.

The specific posts for each of these plugins are:

Please head on over and check out Travis’ site and his announcement of taking over the plugins. With that being said, good luck Travis and these plugins are now 100% yours.

News Plugins WordPress

Still Looking for WordPress Plugin Maintainers

As I have announced, announced, and announced again; I am ceasing development and support on several plugins. The list of those plugins was in the interview with me on WPTavern, but I wanted to formally outline the plugins that have yet to find a new home, and announce, yes another announcement, that there is one more to be added to that list.

Plugins being sent to the plugin orphanage:

Everyone please take a look over the above plugins and if you think that you are interested and would like to take over ownership for one or several of these plugins please let me know, either through my contact form or in the comments here.

News Plugins WordPress