The register_and_do_post_meta_boxes WordPress PHP function registers the default post meta boxes and runs the do_meta_boxes actions.
Usage
register_and_do_post_meta_boxes( $post );
Custom example:
Input:
$post = get_post( 42 ); // Assuming post with ID 42 exists register_and_do_post_meta_boxes( $post );
Parameters
$post
(WP_Post) (Required) – The post object that these meta boxes are being generated for.
More information
See WordPress Developer Resources: register_and_do_post_meta_boxes
Examples
Registering a custom meta box
This code registers a custom meta box for posts.
function my_custom_meta_box() { add_meta_box( 'my_custom_meta_box_id', // Unique ID 'My Custom Meta Box', // Box title 'my_custom_meta_box_callback', // Content callback 'post' // Post type ); } add_action( 'add_meta_boxes', 'my_custom_meta_box' ); function my_custom_meta_box_callback( $post ) { // Display the custom meta box content echo 'This is my custom meta box content.'; }
Saving custom meta box data
This code saves custom meta box data when a post is saved.
function my_custom_meta_box_save( $post_id ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return; } // Save custom meta box data update_post_meta( $post_id, 'my_custom_meta_key', 'my_custom_meta_value' ); } add_action( 'save_post', 'my_custom_meta_box_save' );
Displaying custom meta box data
This code displays custom meta box data on the front-end.
function my_custom_meta_box_display( $content ) { global $post; $meta_value = get_post_meta( $post->ID, 'my_custom_meta_key', true ); return $content . '<div>My Custom Meta Value: ' . esc_html( $meta_value ) . '</div>'; } add_filter( 'the_content', 'my_custom_meta_box_display' );
Removing a default meta box
This code removes the default “Excerpt” meta box for posts.
function my_remove_excerpt_meta_box() { remove_meta_box( 'postexcerpt', 'post', 'normal' ); } add_action( 'admin_menu', 'my_remove_excerpt_meta_box' );
Moving a default meta box
This code moves the “Featured Image” meta box to a new location.
function my_move_featured_image_meta_box() { remove_meta_box( 'postimagediv', 'post', 'side' ); add_meta_box( 'postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high' ); } add_action( 'do_meta_boxes', 'my_move_featured_image_meta_box' );