mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-01 07:40:07 +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:
@@ -1322,6 +1322,39 @@ function has_term_meta( $term_id ) {
|
||||
return $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value, meta_id, term_id FROM $wpdb->termmeta WHERE term_id = %d ORDER BY meta_key,meta_id", $term_id ), ARRAY_A );
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a meta key for terms.
|
||||
*
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param string $taxonomy Taxonomy to register a meta key for. Pass an empty string
|
||||
* to register the meta key across all existing taxonomies.
|
||||
* @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_term_meta( $taxonomy, $meta_key, array $args ) {
|
||||
$args['object_subtype'] = $taxonomy;
|
||||
|
||||
return register_meta( 'term', $meta_key, $args );
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters a meta key for terms.
|
||||
*
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param string $taxonomy Taxonomy the meta key is currently registered for. Pass
|
||||
* an empty string if the meta key is registered across all
|
||||
* existing taxonomies.
|
||||
* @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_term_meta( $taxonomy, $meta_key ) {
|
||||
return unregister_meta_key( 'term', $meta_key, $taxonomy );
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether a term exists.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user