I had two things on the go… I’d gotten around to adding Modernizr to detect older browsers’ lack of @fontface? support and set it up so I can set my theme to use Google fonts if the visitor can see them or fall back to a standard sans-serif font if not, and I’ve been figuring how to use revision control? software, Git to be precise. There was another Admired theme update, so I saw an opportunity to practice using Git. I got all prepared to fix up
.../wp-content/themes/admired/header.php after running the update, as I had to last time in order to support Modernizr, my Help pop-ups and other such features I’ve added since I installed the stock theme. In Git, first I made sure I “added” the version of
header.php I’d modified to the files whose versions I’m “tracking” and “committed” the “branch.” Then I ran the theme update from the WordPress dashboard and then downloaded the new
header.php, overwriting my custom one containing my changes. Typing
git status confirmed the file had changed, then
git diff—and this is the true magic of revision control—showed me the actual differences between the new file and the one it had overwritten. My plan had been to try
git merge, but here I noticed a more significant change than I’d expected. In the updated
header.php the entire section where previously Admired checked the author’s Superfish preference and conditionally enabled jQuery was entirely gone. What’s more the call to
wp_enqueue_script('jquery') no longer appears anywhere in the header file! I feared I’d have to search through includes or risk a conflict, but I decided before I did anything my first step would be to view source and see if the developers left any clues as to where they moved it.
I breathed a sigh of relief when I saw not only that the theme now has the latest version of jQuery loading without my help, but it’s now got Modernizr too! It’s loading from the
iepp is now
html5shiv v3.3 w/ printshiv,
mq is Media Queries. The remaining entries, “
teststyles-testprop-testallprops-prefixes-domprefixes,” have no checkboxes as they are entered automatically.
The one remaining experiment had to do with this updated file’s name. The original was
modernizr-2.0.6.js, so by all rights this one should be
modernizr-2.5.3.js, but will the theme recognize that file without a change somewhere, in a file I haven’t identified yet? Apparently not. The short-term solution is simply to save the new file with the old name. Checking in Firebug’s HTML tab you see that fontface now appears in the classes of the HTML element, because I’m using a browser that Modernizr has detected as supporting the embedded fonts feature. If it were an older browser Modernizr would add a class no-fontface. You may recall that the Admired theme has its own custom CSS input screen in its control panel. To that I simply added…
font-face: Arial, Helvetica, sans-serif;
And of course after this unexpected detour I mustn’t forget to do what I came to do in the first place, add in my own
myBlog.js after the call to wp_head(); and before the closing </head> tag to suport my help popups.
I intend to find out which php file the Modernizr script is being called from so I can set its version properly. The largest worry is that the change from
printshiv between 2.0.6 and 2.5.x affects something IE users will notice. But for tonight, let them use Firefox!