mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-04-07 22:24:36 +00:00
REST API: Support meta registration for specific object subtypes.
Introduce an `object_subtype` argument to the args array for `register_meta()` which can be used to limit meta registration to a single subtype (e.g. a custom post type or taxonomy, vs all posts or taxonomies). Introduce `register_post_meta()` and `register_term_meta()` wrapper methods for `register_meta` to provide a convenient interface for the common case of registering meta for a specific taxonomy or post type. These methods work the way plugin developers have often expected `register_meta` to function, and should be used in place of direct `register_meta` where possible. Props flixos90, tharsheblows, spacedmonkey. Fixes #38323. git-svn-id: https://develop.svn.wordpress.org/trunk@43378 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -1989,6 +1989,39 @@ function delete_post_meta_by_key( $post_meta_key ) {
|
||||
return $deleted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a meta key for posts.
|
||||
*
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param string $post_type Post type to register a meta key for. Pass an empty string
|
||||
* to register the meta key across all existing post types.
|
||||
* @param string $meta_key The meta key to register.
|
||||
* @param array $args Data used to describe the meta key when registered. See
|
||||
* {@see register_meta()} for a list of supported arguments.
|
||||
* @return bool True if the meta key was successfully registered, false if not.
|
||||
*/
|
||||
function register_post_meta( $post_type, $meta_key, array $args ) {
|
||||
$args['object_subtype'] = $post_type;
|
||||
|
||||
return register_meta( 'post', $meta_key, $args );
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters a meta key for posts.
|
||||
*
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param string $post_type Post type the meta key is currently registered for. Pass
|
||||
* an empty string if the meta key is registered across all
|
||||
* existing post types.
|
||||
* @param string $meta_key The meta key to unregister.
|
||||
* @return bool True on success, false if the meta key was not previously registered.
|
||||
*/
|
||||
function unregister_post_meta( $post_type, $meta_key ) {
|
||||
return unregister_meta_key( 'post', $meta_key, $post_type );
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve post meta fields, based on post ID.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user