mirror of
https://github.com/WordPress/WordPress.git
synced 2024-12-26 11:08:06 +01:00
a89c86c711
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. Built from https://develop.svn.wordpress.org/trunk@43378 git-svn-id: http://core.svn.wordpress.org/trunk@43206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
71 lines
1.2 KiB
PHP
71 lines
1.2 KiB
PHP
<?php
|
|
/**
|
|
* REST API: WP_REST_Term_Meta_Fields class
|
|
*
|
|
* @package WordPress
|
|
* @subpackage REST_API
|
|
* @since 4.7.0
|
|
*/
|
|
|
|
/**
|
|
* Core class used to manage meta values for terms via the REST API.
|
|
*
|
|
* @since 4.7.0
|
|
*
|
|
* @see WP_REST_Meta_Fields
|
|
*/
|
|
class WP_REST_Term_Meta_Fields extends WP_REST_Meta_Fields {
|
|
|
|
/**
|
|
* Taxonomy to register fields for.
|
|
*
|
|
* @since 4.7.0
|
|
* @var string
|
|
*/
|
|
protected $taxonomy;
|
|
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* @since 4.7.0
|
|
*
|
|
* @param string $taxonomy Taxonomy to register fields for.
|
|
*/
|
|
public function __construct( $taxonomy ) {
|
|
$this->taxonomy = $taxonomy;
|
|
}
|
|
|
|
/**
|
|
* Retrieves the object meta type.
|
|
*
|
|
* @since 4.7.0
|
|
*
|
|
* @return string The meta type.
|
|
*/
|
|
protected function get_meta_type() {
|
|
return 'term';
|
|
}
|
|
|
|
/**
|
|
* Retrieves the object meta subtype.
|
|
*
|
|
* @since 5.0.0
|
|
*
|
|
* @return string Subtype for the meta type, or empty string if no specific subtype.
|
|
*/
|
|
protected function get_meta_subtype() {
|
|
return $this->taxonomy;
|
|
}
|
|
|
|
/**
|
|
* Retrieves the type for register_rest_field().
|
|
*
|
|
* @since 4.7.0
|
|
*
|
|
* @return string The REST field type.
|
|
*/
|
|
public function get_rest_field_type() {
|
|
return 'post_tag' === $this->taxonomy ? 'tag' : $this->taxonomy;
|
|
}
|
|
}
|