summaryrefslogtreecommitdiff
blob: 1a80a3b54fa6d9a27816bce33172b6c0daceab35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName

/**
 * Taxonomy endpoint.
 */
abstract class WPCOM_JSON_API_Taxonomy_Endpoint extends WPCOM_JSON_API_Endpoint {

	/**
	 * Category object format.
	 *
	 * @var array
	 */
	public $category_object_format = array(
		'ID'          => '(int) The category ID.',
		'name'        => '(string) The name of the category.',
		'slug'        => '(string) The slug of the category.',
		'description' => '(string) The description of the category.',
		'post_count'  => '(int) The number of posts using this category.',
		'feed_url'    => '(string) The URL of the feed for this category.',
		'parent'      => '(int) The parent ID for the category.',
		'meta'        => '(object) Meta data',
	);

	/**
	 * Tag object format.
	 *
	 * @var array
	 */
	public $tag_object_format = array(
		'ID'          => '(int) The tag ID.',
		'name'        => '(string) The name of the tag.',
		'slug'        => '(string) The slug of the tag.',
		'description' => '(string) The description of the tag.',
		'post_count'  => '(int) The number of posts using this t.',
		'meta'        => '(object) Meta data',
	);

	/**
	 * Constructor function.
	 *
	 * @param string|array|object $args - the arguments.
	 */
	public function __construct( $args ) {
		parent::__construct( $args );
		if ( preg_match( '#/tags/#i', $this->path ) ) {
			$this->response_format =& $this->tag_object_format;
		} else {
			$this->response_format =& $this->category_object_format;
		}
	}
}