Tag Archives: WordPress

Thoughts on Post Meta Boxes in WordPress

I’m generally of the opinion that the screen for adding content should be as simple as possible in a CMS.  It’s one of the reasons I really like the new Distraction Free Writing in WordPress 3.2 (sneak peek if case you haven’t seen it).  It’s why I was a huge fan of WordPress reducing the number of default metabox in 3.1.

This is why in the recently updated AddThis WordPress plugin, the meta box to disable AddThis on a post by post basis is disabled by default.  While it was a feature that users requested, it wasn’t something that people were beating down the door to enable.  I decided that thus for the majority of users, no reason to make the display show more than they need.

It was super simple code wise. All of this code sits inside of a class that controls all of the post meta box:

// These two lines are inside a function the hooks into init.  $screen equals post and page
add_meta_box('addthis', 'AddThis', array($this, 'post_metabox'), $screen, 'side', 'default'  );
add_filter('default_hidden_meta_boxes', array($this,  'default_hidden_meta_boxes' )  );

function default_hidden_meta_boxes($hidden)
{
    $hidden[] = 'addthis';
    return $hidden;
}

Now the addthis metabox will be hidden by default. Next time you add a post meta box to WordPress inside a plugin, ask your self if it’s one that all of your plugin users will need.

Learn more about AddThis for WordPress 2.1

First Thoughts: Distraction Free Writing in WordPress 3.2

This is my first attempt at testing distraction free writing, a feature that is currently targeted for WordPress 3.2.  It’s still in a very early form, but I’m excited to see where it goes. Here is what it looks like:

At first glance, I think it is one-thousand times better than the current full screen mode. I’m excited to see where it goes. Follow development and grab the plugin from Trac

DC Web Content Mavens January 2011

The other night, the DC Web Content Mavens(isn’t that a great name?) presented on “Drupal and WordPress as CMS”. I was invited to co-present with Andrew Nacin and Joel Sackett. It was great to get the chance to talk about the GPL, and how both products leverage it and use it to improve and endow the USER with rights that plenty of other software don’t have. We compared the Philosophies (include release philosophies) that set the two projects along.

Nacin and I prepared a joint presentation that went over many of the features and philosophies that set WordPress apart from Drupal. The two biggest points we made (outside of the GPL), are the philosophy points that “Deadlines are not arbitrary” and the creator of products should “Make decisions, not options”. These two points are really what sets WordPress apart. It’s released often (and pretty damn close to on time for an open source software project) and since there aren’t a million options, it’s easy to find the ones you actually care about. We also spoke of how when you adopt WordPress, you are joining a community that is great and is constantly looking to improve and educate each other.

I hope that the audience walked out both more educated and a bit entertained. The questions they asked were great and I hope I get a chance to attend another Web Content mavens meetup soon.

#WPTest in DCresults

I need help please you lazy bastardsToday the WordPress DC group met for a couple of hours of testing WordPress 3.1. Andrew Nacin, John P Bloch, Thad Allender, Ben Balter, Alex Byers, Anthony Braddy and I spent a couple of hours, finding, fixing WordPress. Nacin also demonstrated the development version of the Debug Bar which is going to be a great addition to the WordPress developers toolkit. I found one bug, patched it and Nacin even committed it before RC3 got out the door.

I hope that more people plan testing events. It’s super easy to get started testing. Just grab the WordPress Beta Tester plugin (choosing the “bleeding edge nightlies” option) or go grab . Use the Twitter hash tag #wptest to announce, promote, and be social while testing. Be a good open source citizen, and help test the software you use.

Documentation! My WordCamp NYC 2010 presentation

The slides from my lightning speech about the state of WordPress documentation today and where it is going are available as well as my Don’t be a Wanker, Write your Documentation speech. If you happen to catch a mistake (such as spelling), please comment below.

A few resource to help you on your documentation journey:

I will be hanging out in the Hacker Room tomorrow when I’m not helping out at the genius bar or running a unconference session on with Matt Martz (sivel). I also have some Clearspring stickers that I would love to hand out. I’m in a red bow tie today and will be wearing a blue one tomorrow.

If you want to contribute a documentation patch to WordPress, come to the Hacker Room tomorrow. I’ll help you out and we can try to get Andrew Nacin to commit it.

Users / Roles / Capabilities

I presented on August 30, 2010 to the DC WordPress group on the topic of the Users / Roles / Capabilities system in WordPress.  I presented a small number of slides, and wrote four simple plugins to demonstrate some specific features.   My slides (In HTML / CSS / JS, not some proprietary format) are available at http://aaron.jorb.in/slides/dcwp0810/.  You can navigate through them with your arrow keys, or you press esc and it will take you to thumbnails where you can jump around.

I’ve also posted each of the plugins I wrote, along with a detailed explanation of them.

Shortcodes for Discrimination – Provides shortcodes that allow either users or non users to see certain content

Personalize Read More – Changes the Read More link to call out logged in users by name

Add Role – This adds a role for managing links and removes editors ability to

Replacing Jabber, AIM, and Yahoo messenger with twitter on profile Pages

Repository containing all the code: http://code.google.com/p/wp-user-plugins/

Happy Coding.

Adding a twitter box to the Profile page in WordPress

I haven’t used AIM in years and I haven’t used Yahoo Messager in even longer.  What I do use is twitter.  Therefore, having a box in the WordPress admin for twitter name is better and with some code I wrote for the , super easy.

add_filter('user_contactmethods', 'jorbin_user_contactmethods');

/**
 * Removes AIM, YAHOO, and Jabber boxes from profile page and adds Twitter in it's place
 *
 */
function jorbin_user_contactmethods($user_contactmethods){
	$new_user_contactmethods['twitter'] = __('Twitter');

	return $new_user_contactmethods;
}

Filtering user_contactmethods is one of the easiest things you can do. All you need to do is return an array where the key is the code based name you want and the value is the public facing name. Easy. As. Pie.