One approach is to remove the original metabox, and then to re-add that metabox, with updated parameters. For example, this will move the "Featured Image" meta box from the side column to the main column, for a custom post type with a slug cpt-slug
:
Edit
The parameter for the Publish meta box is submitdiv
, and the correct callback is post_submit_meta_box()
; I've updated the code below to reflect these correct parameters. I've also changed the add_meta_box()
$context
parameter from 'high'
to 'low'
, so that the Publish meta box will be added at the bottom:
<?php
function wpse25793_move_post_metaboxes( $post ) {
global $wp_meta_boxes;
remove_meta_box( 'submitdiv', 'cpt-slug', 'side' );
add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', 'cpt-slug', 'normal', 'low' );
}
add_action( 'add_meta_boxes_cpt-slug', 'wpse25793_move_post_metaboxes' );
?>
The approach should be the same for the "Publish" meta box. You just need to remove/add the publish meta box instead of the featured image meta box.