WordPress 2.7 Now Available!
WordPress 2.7 is now available! Users with a 2.7 beta or RC version can just go to Tools → Upgrade to get the latest version.
I’m incredibly excited to finally be able to release this to the world. For months, the entire WordPress core development team has been obsessing over this release. We’ve agonized over the smallest of details. We’ve spent long nights refining and tweaking when we should have long ago given up and gone to bed. The people-hours that have gone into this are tremendous, but more than that, we’ve poured our hearts and our souls into this release.
That’s not to say that it’s perfect. Some part of us wants to hoard this release away until we can polish it to complete perfection. But that wouldn’t be fair to you. It’s time to show our work. We hope you like it. We’re incredibly proud of it.
It’s certainly not a small change, especially for the WordPress admin. Change is difficult, even when for the better, so give it a fair trial before judging it. You’ll have developed “muscle memory” for certain tasks, so it will take a little while to rewire your brain. We think that once you’ve given yourself a chance to learn the new positions and functions, you’ll find that you’re a lot faster, and a lot more efficient at managing your WordPress site.
Favorite New Features
Without a doubt, my favorite new feature is comment moderation keyboard shortcuts. It has bothered me for a long time that comment moderation was such a tedious chore. Keyboard shortcuts (and the new inline reply) make it significantly less of a chore.
The new customizable post screen is a close second. I love that I can completely hide away all of the stuff that I don’t use (by clicking the “Screen Options” tab), and keep tags and categories on the right, while increasing the size of my post content box.
The new Publish module on the post screen is a personal treasure of mine. I took point on that, with some excellent design guidance from Jane Wells. It moves the “Save Draft” and “Publish” buttons far apart (a common complaint was that their proximity lead to accidental premature publishing. The Preview button now shows you the most recent changes to your post… not just the last saved version. Additionally, you can preview changes on published posts without those changes being shown publicly (until you’re ready). The Visibility section is new, and contains the functionality of private posts, password-protected posts, and sticky posts. Future posting is a lot more clear now. When you edit the time stamp to point to a future date, the “Publish” button becomes “Schedule.” All these changes were made to make your Publish module function predictably, so that you’re never wondering what happens when you click something.
The new menu system is great. I operate it in folded mode, so that my content can really take center stage.
There are too many new features to mention, and too many enhancements too small to make the features list (such as improved canonical URL support for even better SEO). Give it a try, and let us know what you think!
Slides from WordPress keynote at WordCamp Charlotte
Here are the slides from my keynote talk at WordCamp Charlotte.
WordPress 2.7 Feature Preview: Customizable Post Editing Screen
Work continues on WordPress 2.7, but I can’t keep it to myself! Here’s another sneak peek at one of the upcoming features in WordPress 2.7: the ability to customize your post editing screen.
Here it is in action:
doneAnd here are some example layouts:

Publish Module in the main column, right column empty

Tags and Publish Module on the right

Tall layout, categories, tags, Publish Module
WordPress 2.7 Feature Preview: Publish Module (UPDATED)
I made a screencast showing off the new Publish Module that I’ve been working on for WordPress 2.7 (due in November).
It is different from the current (2.6) Publish Module in look, form, and function. It elegantly adapts to your actions, and presents you with clear choices. You’ll never again wonder what will happen when you hit that button and send your post off into the ether. I hope you like it!
doneIf you’d like to try this out for yourself, WordPress 2.7-beta-1 is available now.
Update:
I’ve slightly rearranged the Publish Module due to some issues with translations and wide buttons. The result isn’t functionally different, just more structurally flexible. Check it out:
doneGoogle Gears now supports Safari on OS X
You know that “Turbo” button in the upper-right corner of WordPress 2.6 (and WordPress.com)? That button uses Google Gears to store static WordPress admin files locally, speeding up your WordPress admin experience. Until now, Gears was only available to people running Firefox or Internet Explorer. As of today, people using Safari on OS X can also play. I just activated it for this blog, and it worked without a hitch!
Wordsplosion!
My wife Sarah and I were in Wal-Mart last night, when we saw someone walking around with a shirt that said “Girl’s go’in wild.” We had a good chuckle over the atrocious and arbitrary punctuation. Then I thought “hey, this might make for a good blog.”
4 hours later, Wordsplosion was online. It’s pretty amazing that you can go from idea to execution in a matter of hours using WordPress. Wordsplosion showcases “the best of the worst of the wide world of words.” It contains (and will continue to contain) all manner of grammatical errors, punctuation gaffes, misspellings, horrible typography, etc. It’s LOL cats for smart people.
I used the amazing Journalist theme as a base. Go check it out!
Preview: Advanced WordPress @ BlogOrlando 2008
I’ll be at BlogOrlando on September 27th leading a session on Advanced WordPress. Here’s a quick preview of the topics I’d like to cover:
Scaling
An overview of the best ways to scale WordPress to withstand any Digg onslaught. We’ll talk about WP-Super-Cache, Batcache and PHP opcode caches. We’ll identify common performance bottlenecks. For more detailed and generally applicable information, you’ll want to stick around for Alex Rudloff’s session on scaling!
Upgrades
Still using FTP to upgrade your WordPress blog? FTP is for your grandmother. We’ll talk about using Subversion to make upgrades happen in a flash.
Advanced URLs
Want a feed of all posts by guest authors on your blog that are in the “Florida” category and also mention “Disney” ? Pfft, that’s nothing. Learn how to use WordPress URL tricks to offer extremely customized feeds to your readers.
Multiple loops
Let’s use the tricks you learned above to create a secondary loop in your theme, without disrupting the main posts loop.
Bring Your Questions!
The format will be conversational, so please bring your Advanced WordPress questions!
Upcoming events I’ll be attending
Here’s a list of upcoming blogging/WordPress/tech events that I’m planning on attending:
- Blog Orlando – September 27th
This event has been a bunch of fun the last two years — wouldn’t miss it. I’ll be speaking on “Advanced WordPress” - WordCamp Toronto – October 4th and 5th
Will be attending, and may be speaking too. - BarCamp Tampa Bay – October 11th and 12th
The tech/blogging community in Tampa has recently started to get more organized, and this should be a good way of meeting more of the local people. - WordCamp Charlotte – November 15th
I’ll be giving the keynote presentation at this WordCamp event.
Hope to see you at one of those events! And if you’re in New York City, be sure to check out WordCamp New York, on October 5th (hey, there’s a testament to WordPress’ gaining popularity — there are two WordPress camps on the same day!)
U.S. Government Agencies Using WordPress
Here is a list (probably not all-inclusive) of United States government agencies or organizations using WordPress (whether privately or publicly):
- Air Force
- Army
- Central Intelligence Agency (CIA)
- Coast Guard
- Defense Intelligence Agency
- Department of Energy
- Department of Homeland Security
- Department of State
- Department of Treasury
- Drug Enforcement Agency (DEA)
- Marine Corps
- Federal Bureau of Investigation (FBI)
- National Geospatial Intelligence Agency
- National Reconnaissance Agency
- National Security Agency (NSA)
- Navy
This list was revealed at WordCamp San Francisco, 2008.
One-line plugin of the day
Opens the post timestamp editing fields without you having to click the “Edit” link every time. Great for people who are always scheduling their posts.
add_action('admin_head',create_function('$a', "echo \"<script type='text/javascript'>\n<!--\naddLoadEvent(function(){jQuery('.edit-timestamp').click();});\n//-->\n</script>\";"),50);
How to write a solid and stable WordPress plugin
The b5media tech team was having a discussion today about what criteria we use when reviewing a WordPress plugin for possible inclusion on one of our sites or across our network. It makes for a good list of what to do (or not do) when writing a WordPress plugin, something that might be generally useful to plugin authors. These things won’t make your plugin good — they’ll just help make it secure and stable.
Don’t ignore security
WordPress plugins have unlimited power, which is a blessing (it makes WordPress very flexible), but it can be a curse if your plugin is not code with security in mind. If things like CSRF, the prepare() method (SQL injection protection), XSS are not intimately known to you, it’s time for you to do some research. When someone installs their plugin, they are potentially putting their site’s security in your hands. Rise to the occasion.
Make proper use of the role/capability system
WordPress controls admin access using a roles/capabilities system. Make sure your plugin is checking against an appropriate capability. If it is the sort of thing that only “admins” should use, you should be checking against the manage_options capability. If this is something that an author should be able to do, you might use the publish_post capability. Do not check against roles. Roles are only containers for capabilities, and you can’t assume that an “author” on one blog means the same thing on all of them.
Use current API functions
WordPress has a lot of legacy code and deprecated functions. We try not to break stuff without good reason, so often times we’ll leave in compatibility for old API functions. If your plugin is using these functions, it tells me that you’re not up on current WordPress development. This means that your plugin might be more likely to break with a WordPress upgrade, and it suggests sloppiness that can lead to security issues.
Mind your performance
The number of queries that your plugin makes can affect its performance. We don’t care how cool your plugin is — if it uses 10 MySQL queries on every page, it’s not going in. You should work to minimize these queries as much as possible. Other performance issues like the efficiency of your PHP code should be taken into consideration as well.
Use existing WordPress data structures whenever possible
Don’t create your own tables unless you’re absolutely certain there is no way to accomplish your functionality within the WordPress data system.
I’m going to go into more detail on these topics at a later date. Maybe even with screencasts, which seem to be a great way of demonstrating these sorts of things.
Congratulations to Andrew Ozz (azaozz)
Not only does Andrew Ozz have one of the coolest names ever (His name starts with A and ends with Z, for heaven’s sake!), he also just gained commit access to the WordPress project! Congratulations, and well-deserved. The vote was unanimous.
Andrew’s specialty is the Visual Editor (a.k.a. “Rich Text Editor”). At first, I hated the Visual Editor. Now I frequently use it. Andrew gets a lot of the credit for that. Welcome to the team!
Psst: WordPress 2.6 is now available for your blogging pleasure.
Ron Paul launches Campaign for Liberty with WordPress blog
Ron Paul formally ended his U.S. presidential campaign and launched “phase 2″: the Campaign for Liberty — with the blog powered by WordPress, natch.

WordPress 2.7: Comment Moderation Keyboard Shortcuts
with 42 comments
Comment moderation keyboard shortcuts is my favorite feature of WordPress 2.7, and now that it is available for WordPress.com users, I’d like to show it off:
doneWritten by Mark Jaquith
December 5, 2008 at 4:40 am
Posted in wordpress
Tagged with comments, hotkeys, keyboard, moderation, shortcuts, wordpress, wordpress 2.7