wp/wp-includes/rest-api/fields/class-wp-rest-term-meta-fields.php
changeset 7 cf61fcea0001
child 18 be944660c56a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wp/wp-includes/rest-api/fields/class-wp-rest-term-meta-fields.php	Mon Oct 14 17:39:30 2019 +0200
@@ -0,0 +1,70 @@
+<?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 4.9.8
+	 *
+	 * @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;
+	}
+}