Mark on WordPress

WordPress puts food on my table.

WordPress 2.7 Now Available!

with 64 comments

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!

Written by Mark Jaquith

December 10, 2008 at 9:04 pm

Posted in wordpress

Tagged with

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:

Written by Mark Jaquith

December 5, 2008 at 4:40 am

Slides from WordPress keynote at WordCamp Charlotte

with 6 comments

Here are the slides from my keynote talk at WordCamp Charlotte.

Written by Mark Jaquith

November 15, 2008 at 7:11 pm

Posted in wordpress

WordPress 2.7 Feature Preview: Customizable Post Editing Screen

with 93 comments

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:

And here are some example layouts:

 

Publish Module in the main column, right column empty

Publish Module in the main column, right column empty

 

Tags and Publish Module on the right

Tags and Publish Module on the right

 

Tall layout, categories, tags, Publish Module

Tall layout, categories, tags, Publish Module

Written by Mark Jaquith

November 6, 2008 at 3:34 am

Posted in wordpress

WordPress 2.7 Feature Preview: Publish Module (UPDATED)

with 57 comments

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!

If 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:

Written by Mark Jaquith

November 1, 2008 at 12:14 pm

Posted in wordpress

Google Gears now supports Safari on OS X

with 24 comments

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!

Written by Mark Jaquith

September 15, 2008 at 4:56 pm

Posted in wordpress

Tagged with , , , , ,

Wordsplosion!

with 27 comments

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!

Written by Mark Jaquith

September 13, 2008 at 7:45 pm

Preview: Advanced WordPress @ BlogOrlando 2008

with 8 comments

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!

Written by Mark Jaquith

September 9, 2008 at 4:25 am

Posted in wordpress

Tagged with ,

Upcoming events I’ll be attending

with 11 comments

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!)

Written by Mark Jaquith

August 30, 2008 at 3:22 am

Posted in wordpress

U.S. Government Agencies Using WordPress

with 84 comments

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.

Written by Mark Jaquith

August 18, 2008 at 10:59 pm

Posted in wordpress

Secure Coding with WordPress – WordCamp SF 2008 Slides

with 25 comments

Here are the slides from my Secure Coding with WordPress presentation at WordCamp SF 2008:

Written by Mark Jaquith

August 16, 2008 at 6:04 pm

One-line plugin of the day

with 29 comments

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);

Written by Mark Jaquith

July 30, 2008 at 12:47 pm

Posted in wordpress

How to write a solid and stable WordPress plugin

with 36 comments

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.

Written by Mark Jaquith

July 23, 2008 at 11:00 pm

Posted in wordpress

Tagged with , , ,

Congratulations to Andrew Ozz (azaozz)

with 19 comments

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.

Written by Mark Jaquith

July 15, 2008 at 1:14 am

Posted in wordpress

Ron Paul launches Campaign for Liberty with WordPress blog

with 5 comments

Ron Paul formally ended his U.S. presidential campaign and launched “phase 2″: the Campaign for Liberty — with the blog powered by WordPress, natch.

Written by Mark Jaquith

June 13, 2008 at 1:16 pm

Posted in wordpress