[wp-hackers] Closed Metaboxes
Nathan Rice
ncrice at gmail.com
Tue Apr 13 03:44:55 UTC 2010
Perfect. This should definitely help. Thanks!
------------------
Nathan Rice
WordPress and Web Development
www.nathanrice.net | twitter.com/nathanrice
On Mon, Apr 12, 2010 at 1:50 PM, rovo89 <lists at robv.de> wrote:
> Is there any way to have custom metaboxes be closed by default?
>>
>
> Closed metaboxes are handled by the function postbox_classes(), which has
> not filters itself. However, it uses get_user_option(), so you can do the
> following:
>
> function myclosedmetaboxes($result) {
> $closedMetaboxes = array('your_closed_metabox');
> if ( !is_array(result) )
> return $closedMetaboxes;
> else
> return array_merge($result, $closedMetaboxes);
> }
> add_filter('get_user_option_closedpostboxes_yourposttype',
> 'myclosedmetaboxes');
>
> yourposttype is the same as the $page parameter of add_meta_box. The array
> defines the metaboxes which are always closed when the user enters the
> editing page.
>
> If you want to be a bit more user friendly and keep the open/closed state
> of the metaboxes, just return $result instead of the merged array. The
> metabox will then be hidden by default for new users, but if the expand
> them, they will stay expanded. For existing users for who the open/closed
> state was already saved, the metabox will be visible by default because it
> is not in the returned array (which would also be the case if they had
> expanded it themselves). You could query all users who have these settings
> saved and add your metabox to it once to work around this.
>
> I hope this helps.
> Robert
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>
More information about the wp-hackers
mailing list