Possible Duplicate:
Change The Title Of a Meta Box

Is it possible to change the title of a Meta Box on a specific Custom Post Type add or edit page?

For example, if I'm viewing the post type add or edit page for the Custom Post Type: my_custom_post_type_name, can I re-label the Meta Box "Publish" to something more like "My CPT Actions"?


2 Answers 2


Yes - you need a slightly modified version of this answer.

add_action( 'add_meta_boxes_post',  'wpse39446_add_meta_boxes' );
function wpse39446_add_meta_boxes( $post ) {
    if( 'mycpt' == get_post_type($post) ){
         remove_meta_box( 'authordiv', 'mycpt', 'core' );
         add_meta_box( 'authordiv', __('Team Member','wpse39446_domain'), 'post_author_meta_box', 'mycpt', 'advanced', 'high' );

Note: If you are doing this for a non-core metabox, you'll need to ensure the callback is called after the metabox is added by specifying a higher priority.


I have come up with a solution that works well, without actually "removing" core WordPress Meta Boxes.

public function rename_metaboxes(){
    global $wp_meta_boxes;

    /* Specified Custom Post Type. */
    $custom_post_type = 'mbe_c2c_groups';

    /* Only perform these actions on Adding or Editing pages for the specified Custom Post Type. */
    if(array_key_exists($custom_post_type, $wp_meta_boxes)){
        /* Make a backup copy of the original Meta Boxes. */
        $meta_box['publish'] = $wp_meta_boxes[$custom_post_type]['side']['core']['submitdiv'];
        $meta_box['featured_image'] = $wp_meta_boxes[$custom_post_type]['side']['low']['postimagediv'];

        /* Remove the original Meta Boxes from the Custom Post Type. */

        /* Re-label the "Publish" Meta Box. */
        $meta_box['publish']['title'] = 'Group Actions';

        /* Re-label the "Featured Image" Meta Box. */
        $meta_box['featured_image']['title'] = 'Group Image';

        /* Re-add our Meta Boxes to the Custom Post Type. */
        $wp_meta_boxes[$custom_post_type]['side']['high']['submitdiv'] = $meta_box['publish'];
        $wp_meta_boxes[$custom_post_type]['side']['high']['postimagediv'] = $meta_box['featured_image'];

add_action('in_admin_header', array($this, 'rename_metaboxes'), 9999);
  • 1
    @MichaealEcklund - see my original post on the linked answer. I used this method originally - but it's hacky. It's much cleaner to just remove and re-add. It's two lines, and avoids touching globals directly. Sep 22, 2012 at 22:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.