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

Registers a meta key for posts.

Parameters Parameters


(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 ↑

Return Return

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

Top ↑

Source Source

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 ↑

Changelog Changelog

Version Description
4.9.8 Introduced.

Top ↑

User Contributed Notes 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.