Change which Meta Boxes are Shown or Hidden by Default

If you want to change what meta boxes are shown and hidden by default instead of trying to walk a client through the process of customizing their own screen, you can use this code as a starting point:

add_filter( 'default_hidden_meta_boxes', 'change_default_hidden', 10, 2 );
function change_default_hidden( $hidden, $screen ) {
    if ( 'page' == $screen->id ) {
        $hidden = array_flip($hidden);
        unset($hidden['authordiv']); //show author box
        $hidden = array_flip($hidden);
        $hidden[] = 'pageparentdiv'; //hide page attributes
    }
    return $hidden;
}

Force the HTML Uploader

If you need to force users to use the HTML uploader, you can do so with this

add_filter( 'flash_uploader', 'force_html_uploader' );
function force_html_uploader( $flash ) {
	remove_action('post-html-upload-ui', 'media_upload_html_bypass' );
	return false;
}

The remove_action() portion removes the “You are using the Browser uploader” text. The rest is what forces the flash setting to be false.

List Category ID in Quick Actions

One thing I’ve found frustrating is that there doesn’t seem to be an easy way of getting a category (or other term) ID. This little snippet will add it to the “quick actions” that appear when you mouseover a term’s row.

add_filter( "tag_row_actions", 'add_cat_id_to_quick_edit', 10, 2 );
function add_cat_id_to_quick_edit( $actions, $tag ) {
	$actions['cat_id'] = 'ID: '.$tag->term_id;
	return $actions;
}

Remove the Media Library Tab

I’ll leave the ‘why’ to you, but here’s the ‘how’

add_filter( 'media_upload_tabs', 'no_media_library_tab' );
function no_media_library_tab( $tabs ) {
    unset($tabs['library']);
    return $tabs;
}

Okay, one possible reason would be that you want to restrict users from accessing media that’s been attached to another post.

Add or Change Content in the Featured Image Meta Box

Perhaps you need to provide a little extra instruction about the Featured Image meta box. It doesn’t take much to add your own text to that box:

add_filter( 'admin_post_thumbnail_html', 'add_featured_image_instruction');
function add_featured_image_instruction( $content ) {
    return $content .= '<p>The Featured Image is an image that is chosen as the representative image for Posts or Pages. Click the link above to add or change the image for this post. </p>';
}

Remove IM Fields From Profile Page

Need to declutter the profile options by removing the various IM fields. It’s easy

add_filter('user_contactmethods', 'remove_im_options', 10, 2); 
function remove_im_options( $user_contactmethods, $user ) {
    unset($user_contactmethods['aim']);
    unset($user_contactmethods['yim']);
    unset($user_contactmethods['jabber']);
    //$user_contactmethods = array();
    return $user_contactmethods;
}