register_post_meta( string $post_type, string $meta_key, array $args )

Registers a meta key for posts.



(string) (Required) Post type to register a meta key for. Pass an empty string to register the meta key across all existing post types.


(string) (Required) The meta key to register.


(array) (Required) Data used to describe the meta key when registered. See register_meta() for a list of supported arguments.

Top ↑


(bool) True if the meta key was successfully registered, false if not.

Top ↑


File: wp-includes/post.php

function register_post_meta( $post_type, $meta_key, array $args ) {
	$args['object_subtype'] = $post_type;

	return register_meta( 'post', $meta_key, $args );

Top ↑


Version Description
4.9.8 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    Contributed by shramee

    If you are wondering why it doesn’t work for your custom post type when doing a block editor plugin or something,
    Your custom post type needs to support custom-fields.

        register_post_type( 'book', array(
        	'supports' => array( 'title', 'editor', 'custom-fields', ..., ),
        	// Make sure you add custom-fields here ^^^^^^^^^^^^^
        ) );

You must log in before being able to contribute a note or feedback.