Chrome Rocks

Just trying out Google’s new browser, Chrome. The admin back end for WordPress (that is, the page I’m working on as I type this) is blazingly fast running on Chrome. Faster than Firefox, IE or Safari — as in: No Contest.

Google set out with a specific goal: to create a browser that is designed to run mature, full featured web applications; and at first blush, it appears that they have entirely succeeded. I haven’t even tried it on Google’s own applications, such as their online word processor.

The design of this browser is quite different from other browsers, especially under the hood. I’ll probably keep Firefox for general browsing, but I will almost certainly use this for “application” use, from blogging to online banking.

Bravo.

(…and get that Mac version released!)

Virtual Multiblog — how to use unique headers on blogs running the same theme

One of the most common questions I get regarding the Virtual Multiblog system for WordPress comes from people wanting to have multiple blogs running on the same theme, but with a different header for each blog. It can be done, and it’s fairly easy to do. Once you have it set up, you could use it to call any distinct file on a per-blog basis — a different CSS file, or a different footer perhaps.

I’ve never been too active about showing this to people, because the function required to do it is not one I consider completely stable — I din’t want to show people how to do it only to have it break the next time I update the VMB system. In response to the requests, however, I am adding a function to the upcoming release (currently in private beta). You can have that ability right now, in a way that should not cause problems with later updates — just add a short function to your existing vmb-functions.php file.
Read More »

WordPress Constants

In the course of working on WordPress, and plugins and such for WordPress, I frequently find myself at a loss to remember the name of constants provided by the system. Hey, isn’t there a constant for such-and-such directory?

I did a bit of grepping and parsing just now, and in the hopes that it might be of use to my fellow WordPress hackers, here is my list of every defined CONSTANT in the latest WordPress 2.7-bleeding setup.
Read More »

Use Custom Actions in Your WordPress Plugins

If you’ve been using WordPress for any amount of time, you’ve probably come across a plugin that asks you to add something to your template. The instructions will say something like:

Insert the following into your theme files where you want the plugin’s widget to appear:

<?php my_plugin_widget() ?>

The slightly more intelligent instructions will understand that the plugin might be deactivated, and suggest you wrap the function in an if() that checks for its existence:

<?php
if ( function_exists( 'my_plugin_widget' ) ) {
	my_plugin_widget();
}
?>

In your own plugins, you can streamline this for the end user by wrapping your function in a custom add_action. How? It’s incredibly easy. Just add an add_action() to your plugin file, like so:

add_action( 'show_my_plugin_widget', 'my_plugin_widget' );

function my_plugin_widget() {
	...
}

Now your users can use one straightforward line in their templates.

<?php do_action('show_my_plugin_widget'); ?>

One short line of code. No worrying about deactivated plugins. A small extra effort on your end can save your end users some frustration down the road.

Next Time: Cold Fusion! (article may be delayed by technical feasibility)

Previously: Use Classes in your WordPress plugins to increase code portability and reduce name conflicts

Quiz plugin v 1.1

There’s a new version of the Quiz plugin (a.k.a. “Comment Quiz”). The plugin requires commenters to answer a question before the comment is posted.

Significant improvements in 1.1, including a native meta box in the edit post/page screen, and the ability to have more than one acceptable answers to a question.

Check it out.

Log Deprecated Calls plugin 0.4

New version 0.4 of the Log Deprecated Calls plugin.

Now it has an option to toggle logging to the PHP Log, or a table in the database, or both. If logging to the database you can view the records on the admin page (under Plugins->Deprecated Calls. It also has a test function, and if you’re using WordPress 2.7 or up, it will even clean up after itself if you delete it.

Again, this is primarily of use to those who write plugins and themes.

Here’s the link.

More than a mere WordPress plugin — Automatic Timezone

Otto has released his Automatic Timezone Plugin as part of the current WordPress plugin competition. In addition to being a handy plugin, it comes with a significant bonus for plugin authors.

In addition to its basic function, the code is designed to serve as a tutorial of sorts, showing authors how to use some very interesting plugin techniques, such as modifying any option on the fly as it is pulled from the options table, or how to modify sections of the core admin pages.

It’s worth a look, and thanks to Otto for sharing.

New WordPress Plugin: Log Deprecated Calls

New plugin for Y’all. This one is of particular interest to plugin authors and theme designers (and… nobody else).

Activate it, and any time WordPress calls a function or file that has been deprecated, a message will be sent to your PHP log file that identifies exactly where the call came from and what to replace it with. This will allow you to very easily keep your plugins and themes calling the most current functions.

(And yes, the message is more informative than the one returned by WP_DEBUG.)

Here’s the link. Go get it!