Quick Tip: WordPress Visual Editor Button Icons

The process of adding a new button to the WordPress visual editor is fairly simple; as long as you understand how to develop a new TinyMCE plugin (which is a somewhat involved and laborious process that I will probably cover at another time).

One thing I discovered yesterday, though, is that one line of code makes the difference between the Visual Editor using a custom, static image as the button and the Visual Editor using a span that you can stylize with CSS (to fit better with the native Visual Editor appearance).

Securing Filezilla

As you may or may not know, Filezilla, the extremely popular FTP client, stores all of your FTP passwords in plain text on your hard drive. While I strongly disagree with this practice, I also understand that there are reasons not to do so. It would be really nice to have some sort of option to encrypt the passwords, but I don’t see that happening any time in the near future.

There are actually multiple levels of danger in using Filezilla (and, presumably, many other FTP clients). Unlike a Web browser, where, if you choose not to use the password manager none of your passwords are stored; Filezilla still stores all of the details from your most recent connection in a file called filezilla.xml and all of the details from your 10 most recent connections (at least, the ones you make by typing the information into the Filezilla interface; which is the only way to connect if you are not using the Site Manager) in a file called recentservers.xml, even if you choose not to use the Site Manager. These are plain old XML files with all of the information stored in plain, non-encrypted text. The format of the entries looks similar to the following.

iCal Files for Single Google Calendar Events

Over the past few months, I have been going round-and-round trying to figure out how to link to individual events in a Google Calendar, allowing visitors to add the event to their own calendars. Google does a nice job of providing functionality to add an event to your own Google calendar, but they don’t seem to offer any functionality to add an event to other calendars.

Google does, however, provide a link to an iCal file for each calendar’s feed; which allows you to add the calendar itself to your own calendar program (Outlook, etc.). The problem with that, obviously, is that, instead of adding a single event (maybe a concert or conference you want to attend, a public meeting, etc.), it adds all of the events from that calendar.

PHP: Stepping Through Arrays

I’ve posted a few articles about working with arrays in PHP over the past few years. I have posted information about adding and replacing elements in arrays; searching for items in arrays; and even a general post about handy array-related functions in PHP. I’m back again with a few more handy functions.

In PHP, you can obviously loop through arrays pretty easily by using a foreach() loop, but did you know you can actually step through arrays manually? PHP offers a handful of functions to do just that.┬áLet’s take a look at those functions, and how you might be able to use them.

WordPress: Adding Some Class to Meta Boxes

For WordPress plugin developers, the metabox API generally proves to be invaluable. Meta boxes allow you to organize various bits of information, groups of options and more into nice, attractive, collapsible boxes rather easily. What’s more, these boxes can be dragged around the screen and reorganized without much hassle. However, one thing that you can’t do with meta boxes is to assign additional CSS classes to them.

However, in WordPress 3.2, you will be able to do just that. WordPress 3.2 will introduce a brand new filter that allows you to modify the list of classes that are applied to a meta box. In order to use it, you’ll need to know the slug of the page on which the meta box is being displayed and the ID of the meta box.

Adding a Bit of Workflow to WordPress

As much as I love WordPress, one of the areas it really lacks is workflow. There are three basic statuses for posts (draft, pending review and published), but there’s very little difference between “draft” status and “pending review.” When a post is saved as “Pending for review”, nothing happens automatically. No email messages are dispatched to any of the site’s editors or administrators, no special, obvious flags fly within the admin area, etc. It might as well just be a “draft” for all intents and purposes. The idea behind creating the “pending review” status was to allow editors and administrators to tell the difference between an in-progress draft and a draft that was ready to be published, but that seems to be about it.

Developer Resources