PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 15.3.2
Jetpack – WP Security, Backup, Speed, & Growth v15.3.2
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / json-endpoints / class.wpcom-json-api-get-taxonomies-endpoint.php
jetpack / json-endpoints Last commit date
jetpack 9 months ago class.wpcom-json-api-add-widget-endpoint.php 9 months ago class.wpcom-json-api-autosave-post-v1-1-endpoint.php 9 months ago class.wpcom-json-api-bulk-delete-post-endpoint.php 9 months ago class.wpcom-json-api-bulk-restore-post-endpoint.php 9 months ago class.wpcom-json-api-bulk-update-comments-endpoint.php 9 months ago class.wpcom-json-api-comment-endpoint.php 9 months ago class.wpcom-json-api-delete-media-endpoint.php 9 months ago class.wpcom-json-api-delete-media-v1-1-endpoint.php 9 months ago class.wpcom-json-api-edit-media-v1-2-endpoint.php 9 months ago class.wpcom-json-api-get-autosave-v1-1-endpoint.php 9 months ago class.wpcom-json-api-get-comment-counts-endpoint.php 9 months ago class.wpcom-json-api-get-comment-endpoint.php 9 months ago class.wpcom-json-api-get-comment-history-endpoint.php 9 months ago class.wpcom-json-api-get-comments-tree-endpoint.php 9 months ago class.wpcom-json-api-get-comments-tree-v1-1-endpoint.php 9 months ago class.wpcom-json-api-get-comments-tree-v1-2-endpoint.php 9 months ago class.wpcom-json-api-get-customcss.php 9 months ago class.wpcom-json-api-get-media-endpoint.php 9 months ago class.wpcom-json-api-get-media-v1-1-endpoint.php 9 months ago class.wpcom-json-api-get-media-v1-2-endpoint.php 9 months ago class.wpcom-json-api-get-post-counts-v1-1-endpoint.php 9 months ago class.wpcom-json-api-get-post-endpoint.php 9 months ago class.wpcom-json-api-get-post-v1-1-endpoint.php 9 months ago class.wpcom-json-api-get-site-endpoint.php 9 months ago class.wpcom-json-api-get-site-v1-2-endpoint.php 9 months ago class.wpcom-json-api-get-taxonomies-endpoint.php 9 months ago class.wpcom-json-api-get-taxonomy-endpoint.php 9 months ago class.wpcom-json-api-get-term-endpoint.php 9 months ago class.wpcom-json-api-list-comments-endpoint.php 9 months ago class.wpcom-json-api-list-dropdown-pages-endpoint.php 9 months ago class.wpcom-json-api-list-embeds-endpoint.php 9 months ago class.wpcom-json-api-list-media-endpoint.php 9 months ago class.wpcom-json-api-list-media-v1-1-endpoint.php 9 months ago class.wpcom-json-api-list-media-v1-2-endpoint.php 9 months ago class.wpcom-json-api-list-post-type-taxonomies-endpoint.php 9 months ago class.wpcom-json-api-list-post-types-endpoint.php 9 months ago class.wpcom-json-api-list-posts-endpoint.php 9 months ago class.wpcom-json-api-list-posts-v1-1-endpoint.php 9 months ago class.wpcom-json-api-list-posts-v1-2-endpoint.php 9 months ago class.wpcom-json-api-list-roles-endpoint.php 9 months ago class.wpcom-json-api-list-shortcodes-endpoint.php 9 months ago class.wpcom-json-api-list-terms-endpoint.php 9 months ago class.wpcom-json-api-list-users-endpoint.php 9 months ago class.wpcom-json-api-menus-v1-1-endpoint.php 9 months ago class.wpcom-json-api-post-endpoint.php 9 months ago class.wpcom-json-api-post-v1-1-endpoint.php 9 months ago class.wpcom-json-api-render-embed-endpoint.php 9 months ago class.wpcom-json-api-render-embed-reversal-endpoint.php 9 months ago class.wpcom-json-api-render-endpoint.php 9 months ago class.wpcom-json-api-render-shortcode-endpoint.php 9 months ago class.wpcom-json-api-sharing-buttons-endpoint.php 9 months ago class.wpcom-json-api-site-settings-endpoint.php 9 months ago class.wpcom-json-api-site-settings-v1-2-endpoint.php 9 months ago class.wpcom-json-api-site-settings-v1-3-endpoint.php 9 months ago class.wpcom-json-api-site-settings-v1-4-endpoint.php 9 months ago class.wpcom-json-api-site-user-endpoint.php 9 months ago class.wpcom-json-api-taxonomy-endpoint.php 9 months ago class.wpcom-json-api-update-comment-endpoint.php 9 months ago class.wpcom-json-api-update-customcss.php 9 months ago class.wpcom-json-api-update-media-endpoint.php 9 months ago class.wpcom-json-api-update-media-v1-1-endpoint.php 9 months ago class.wpcom-json-api-update-post-endpoint.php 9 months ago class.wpcom-json-api-update-post-v1-1-endpoint.php 9 months ago class.wpcom-json-api-update-post-v1-2-endpoint.php 9 months ago class.wpcom-json-api-update-site-homepage-endpoint.php 9 months ago class.wpcom-json-api-update-site-logo-endpoint.php 9 months ago class.wpcom-json-api-update-taxonomy-endpoint.php 9 months ago class.wpcom-json-api-update-term-endpoint.php 9 months ago class.wpcom-json-api-update-user-endpoint.php 9 months ago class.wpcom-json-api-upload-media-endpoint.php 9 months ago class.wpcom-json-api-upload-media-v1-1-endpoint.php 9 months ago
class.wpcom-json-api-get-taxonomies-endpoint.php
188 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
3 if ( ! defined( 'ABSPATH' ) ) {
4 exit( 0 );
5 }
6
7 new WPCOM_JSON_API_Get_Taxonomies_Endpoint(
8 array(
9 'description' => "Get a list of a site's categories.",
10 'group' => 'taxonomy',
11 'stat' => 'categories',
12 'method' => 'GET',
13 'path' => '/sites/%s/categories',
14 'path_labels' => array(
15 '$site' => '(int|string) Site ID or domain',
16 ),
17 'query_parameters' => array(
18 'number' => '(int=100) The number of categories to return. Limit: 1000.',
19 'offset' => '(int=0) 0-indexed offset.',
20 'page' => '(int) Return the Nth 1-indexed page of categories. Takes precedence over the <code>offset</code> parameter.',
21 'search' => '(string) Limit response to include only categories whose names or slugs match the provided search query.',
22 'order' => array(
23 'ASC' => 'Return categories in ascending order.',
24 'DESC' => 'Return categories in descending order.',
25 ),
26 'order_by' => array(
27 'name' => 'Order by the name of each category.',
28 'count' => 'Order by the number of posts in each category.',
29 ),
30 ),
31 'response_format' => array(
32 'found' => '(int) The number of categories returned.',
33 'categories' => '(array) Array of category objects.',
34 ),
35
36 'allow_fallback_to_jetpack_blog_token' => true,
37
38 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/categories/?number=5',
39 )
40 );
41
42 new WPCOM_JSON_API_Get_Taxonomies_Endpoint(
43 array(
44 'description' => "Get a list of a site's tags.",
45 'group' => 'taxonomy',
46 'stat' => 'tags',
47 'method' => 'GET',
48 'path' => '/sites/%s/tags',
49 'path_labels' => array(
50 '$site' => '(int|string) Site ID or domain',
51 ),
52 'query_parameters' => array(
53 'number' => '(int=100) The number of tags to return. Limit: 1000.',
54 'offset' => '(int=0) 0-indexed offset.',
55 'page' => '(int) Return the Nth 1-indexed page of tags. Takes precedence over the <code>offset</code> parameter.',
56 'search' => '(string) Limit response to include only tags whose names or slugs match the provided search query.',
57 'order' => array(
58 'ASC' => 'Return tags in ascending order.',
59 'DESC' => 'Return tags in descending order.',
60 ),
61 'order_by' => array(
62 'name' => 'Order by the name of each tag.',
63 'count' => 'Order by the number of posts in each tag.',
64 ),
65 ),
66
67 'allow_fallback_to_jetpack_blog_token' => true,
68
69 'response_format' => array(
70 'found' => '(int) The number of tags returned.',
71 'tags' => '(array) Array of tag objects.',
72 ),
73 'example_request' => 'https://public-api.wordpress.com/rest/v1/sites/en.blog.wordpress.com/tags/?number=5',
74 )
75 );
76
77 /**
78 * GET taxonomies endpoint class.
79 *
80 * @phan-constructor-used-for-side-effects
81 */
82 class WPCOM_JSON_API_Get_Taxonomies_Endpoint extends WPCOM_JSON_API_Endpoint {
83 /**
84 *
85 * API callback.
86 * /sites/%s/tags -> $blog_id
87 * /sites/%s/categories -> $blog_id
88 *
89 * @param string $path - the path.
90 * @param int $blog_id - the blog ID.
91 */
92 public function callback( $path = '', $blog_id = 0 ) {
93 $blog_id = $this->api->switch_to_blog_and_validate_user( $this->api->get_blog_id( $blog_id ) );
94 if ( is_wp_error( $blog_id ) ) {
95 return $blog_id;
96 }
97
98 $args = $this->query_args();
99 $args = $this->process_args( $args );
100
101 if ( preg_match( '#/tags#i', $path ) ) {
102 return $this->tags( $args );
103 } else {
104 return $this->categories( $args );
105 }
106 }
107
108 /**
109 * Process args.
110 *
111 * @param array $args - the arguments.
112 */
113 public function process_args( $args ) {
114 if ( $args['number'] < 1 ) {
115 $args['number'] = 100;
116 } elseif ( 1000 < $args['number'] ) {
117 return new WP_Error( 'invalid_number', 'The NUMBER parameter must be less than or equal to 1000.', 400 );
118 }
119
120 if ( isset( $args['page'] ) ) {
121 if ( $args['page'] < 1 ) {
122 $args['page'] = 1;
123 }
124
125 $args['offset'] = ( $args['page'] - 1 ) * $args['number'];
126 unset( $args['page'] );
127 }
128
129 if ( $args['offset'] < 0 ) {
130 $args['offset'] = 0;
131 }
132
133 $args['orderby'] = $args['order_by'];
134 unset( $args['order_by'] );
135
136 unset( $args['context'], $args['pretty'], $args['http_envelope'], $args['fields'] );
137 return $args;
138 }
139
140 /**
141 * Get categories.
142 *
143 * @param array $args - the arguments.
144 */
145 public function categories( $args ) {
146 $args['get'] = 'all';
147
148 $cats = get_categories( $args );
149 unset( $args['offset'] );
150 $args['taxonomy'] = 'category';
151 $found = wp_count_terms( $args );
152
153 $cats_obj = array();
154 foreach ( $cats as $cat ) {
155 $cats_obj[] = $this->format_taxonomy( $cat, 'category', 'display' );
156 }
157
158 return array(
159 'found' => (int) $found,
160 'categories' => $cats_obj,
161 );
162 }
163
164 /**
165 * Get tags.
166 *
167 * @param array $args - the arguments.
168 */
169 public function tags( $args ) {
170 $args['get'] = 'all';
171
172 $tags = (array) get_tags( $args );
173 unset( $args['offset'] );
174 $args['taxonomy'] = 'post_tag';
175 $found = wp_count_terms( $args );
176
177 $tags_obj = array();
178 foreach ( $tags as $tag ) {
179 $tags_obj[] = $this->format_taxonomy( $tag, 'post_tag', 'display' );
180 }
181
182 return array(
183 'found' => (int) $found,
184 'tags' => $tags_obj,
185 );
186 }
187 }
188