Skip to content

Commit 53aac37

Browse files
committed
Add $args['fields'] = 'count', $object_id, $taxonomy
1 parent 2e05e60 commit 53aac37

6 files changed

+41
-12
lines changed

functionMap.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,10 @@
182182
'get_sites' => ["(\$args is array{count: true} ? int : (\$args is array{fields: 'ids'} ? array<int, int> : array<int, \WP_Site>))"],
183183
'get_tags' => ["(\$args is array{fields: 'count'} ? numeric-string : (\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'ids'|'tt_ids'} ? list<int> : array<int, \WP_Term>)))))|\WP_Error"],
184184
'get_terms' => ["(\$args is array{fields: 'count'} ? numeric-string : (\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'ids'|'tt_ids'} ? list<int> : array<int, \WP_Term>)))))|\WP_Error"],
185-
'wp_get_post_categories' => ["(\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'all'|'all_with_object_id'} ? array<int, \WP_Term> : list<int>))))|\WP_Error"],
186-
'wp_get_post_tags' => ["(\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'ids'|'tt_ids'} ? list<int> : array<int, \WP_Term>))))|\WP_Error"],
187-
'wp_get_post_terms' => ["(\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'ids'|'tt_ids'} ? list<int> : array<int, \WP_Term>))))|\WP_Error"],
188-
'wp_get_object_terms' => ["(\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'ids'|'tt_ids'} ? list<int> : array<int, \WP_Term>))))|\WP_Error"],
185+
'wp_get_post_categories' => ["(\$post_id is 0 ? array{} : ((\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'all'|'all_with_object_id'} ? array<int, \WP_Term> : (\$args is array{fields: 'count'} ? numeric-string : list<int>)))))|\WP_Error))"],
186+
'wp_get_post_tags' => ["(\$post_id is 0 ? array{} : ((\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'ids'|'tt_ids'} ? list<int> : (\$args is array{fields: 'count'} ? numeric-string : array<int, \WP_Term>)))))|\WP_Error))"],
187+
'wp_get_post_terms' => ["(\$post_id is 0 ? array{} : (\$taxonomy is empty ? array{} : ((\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'ids'|'tt_ids'} ? list<int> : (\$args is array{fields: 'count'} ? numeric-string : array<int, \WP_Term>)))))|\WP_Error)))"],
188+
'wp_get_object_terms' => ["(\$object_ids is empty ? array{} : (\$taxonomies is empty ? array{} : ((\$args is array{fields: 'names'|'slugs'} ? list<string> : (\$args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : (\$args is array{fields: 'id=>parent'} ? array<int, int> : (\$args is array{fields: 'ids'|'tt_ids'} ? list<int> : (\$args is array{fields: 'count'} ? numeric-string : array<int, \WP_Term>)))))|\WP_Error)))"],
189189
'wp_parse_list' => ['($input_list is array ? array<scalar> : list<string>)'],
190190
'wp_parse_str' => [null, '@phpstan-param-out' => 'array<int|string, array|string> $result'],
191191
'size_format' => ["(\$bytes is not numeric ? false : (\$bytes is negative-int|'0' ? false : string))"],

tests/data/wp_get_object_terms.php

+10-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
assertType('array<int, WP_Term>|WP_Error', wp_get_object_terms($objectIDs, $taxonomies));
1515
assertType('array<int, WP_Term>|WP_Error', wp_get_object_terms($objectIDs, $taxonomies, []));
1616

17+
// Empty $object_ids or $taxonomies
18+
assertType('array{}', wp_get_object_terms(0, $taxonomies, ['fields' => 'count']));
19+
assertType('array{}', wp_get_object_terms([], $taxonomies));
20+
assertType('array{}', wp_get_object_terms($objectIDs, ''));
21+
assertType('array{}', wp_get_object_terms($objectIDs, []));
22+
1723
// Requesting names or slugs
1824
assertType('list<string>|WP_Error', wp_get_object_terms($objectIDs, $taxonomies, ['fields' => 'names']));
1925
assertType('list<string>|WP_Error', wp_get_object_terms($objectIDs, $taxonomies, ['fields' => 'slugs']));
@@ -32,5 +38,8 @@
3238
assertType('array<int, WP_Term>|WP_Error', wp_get_object_terms($objectIDs, $taxonomies, ['fields' => 'all_with_object_id']));
3339
assertType('array<int, WP_Term>|WP_Error', wp_get_object_terms($objectIDs, $taxonomies, ['fields' => 'foo']));
3440

41+
// Requesting a count
42+
assertType('numeric-string|WP_Error', wp_get_object_terms($objectIDs, $taxonomies, ['fields' => 'count']));
43+
3544
// Unknown fields value
36-
assertType('array<int, int|string|WP_Term>|WP_Error', wp_get_object_terms($objectIDs, $taxonomies, ['fields' => (string)$_GET['fields']]));
45+
assertType('array<int, int|string|WP_Term>|numeric-string|WP_Error', wp_get_object_terms($objectIDs, $taxonomies, ['fields' => (string)$_GET['fields']]));

tests/data/wp_get_post_categories.php

+7-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
assertType('list<int>|WP_Error', wp_get_post_categories($postID));
1414
assertType('list<int>|WP_Error', wp_get_post_categories($postID, []));
1515

16+
// Empty $post_id
17+
assertType('array{}', wp_get_post_categories(0));
18+
1619
// Requesting names or slugs
1720
assertType('list<string>|WP_Error', wp_get_post_categories($postID, ['fields' => 'names']));
1821
assertType('list<string>|WP_Error', wp_get_post_categories($postID, ['fields' => 'slugs']));
@@ -31,5 +34,8 @@
3134
assertType('array<int, WP_Term>|WP_Error', wp_get_post_categories($postID, ['fields' => 'all_with_object_id']));
3235
assertType('list<int>|WP_Error', wp_get_post_categories($postID, ['fields' => 'foo']));
3336

37+
// Requesting a count
38+
assertType('numeric-string|WP_Error', wp_get_post_categories($postID, ['fields' => 'count']));
39+
3440
// Unknown fields value
35-
assertType('array<int, int|string|WP_Term>|WP_Error', wp_get_post_categories($postID, ['fields' => (string)$_GET['fields']]));
41+
assertType('array<int, int|string|WP_Term>|numeric-string|WP_Error', wp_get_post_categories($postID, ['fields' => (string)$_GET['fields']]));

tests/data/wp_get_post_tags.php

+7-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
assertType('array<int, WP_Term>|WP_Error', wp_get_post_tags($postID));
1414
assertType('array<int, WP_Term>|WP_Error', wp_get_post_tags($postID, []));
1515

16+
// Empty $post_id
17+
assertType('array{}', wp_get_post_tags(0));
18+
1619
// Requesting names or slugs
1720
assertType('list<string>|WP_Error', wp_get_post_tags($postID, ['fields' => 'names']));
1821
assertType('list<string>|WP_Error', wp_get_post_tags($postID, ['fields' => 'slugs']));
@@ -31,5 +34,8 @@
3134
assertType('array<int, WP_Term>|WP_Error', wp_get_post_tags($postID, ['fields' => 'all_with_object_id']));
3235
assertType('array<int, WP_Term>|WP_Error', wp_get_post_tags($postID, ['fields' => 'foo']));
3336

37+
// Requesting a count
38+
assertType('numeric-string|WP_Error', wp_get_post_tags($postID, ['fields' => 'count']));
39+
3440
// Unknown fields value
35-
assertType('array<int, int|string|WP_Term>|WP_Error', wp_get_post_tags($postID, ['fields' => (string)$_GET['fields']]));
41+
assertType('array<int, int|string|WP_Term>|numeric-string|WP_Error', wp_get_post_tags($postID, ['fields' => (string)$_GET['fields']]));

tests/data/wp_get_post_terms.php

+9-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@
1414
assertType('array<int, WP_Term>|WP_Error', wp_get_post_terms($postID, $taxonomy));
1515
assertType('array<int, WP_Term>|WP_Error', wp_get_post_terms($postID, $taxonomy, []));
1616

17+
// Empty $post_id or $taxonomy
18+
assertType('array{}', wp_get_post_terms(0, $taxonomy));
19+
assertType('array{}', wp_get_post_terms($postID, ''));
20+
assertType('array{}', wp_get_post_terms($postID, []));
21+
1722
// Requesting names or slugs
1823
assertType('list<string>|WP_Error', wp_get_post_terms($postID, $taxonomy, ['fields' => 'names']));
1924
assertType('list<string>|WP_Error', wp_get_post_terms($postID, $taxonomy, ['fields' => 'slugs']));
@@ -32,5 +37,8 @@
3237
assertType('array<int, WP_Term>|WP_Error', wp_get_post_terms($postID, $taxonomy, ['fields' => 'all_with_object_id']));
3338
assertType('array<int, WP_Term>|WP_Error', wp_get_post_terms($postID, $taxonomy, ['fields' => 'foo']));
3439

40+
// Requesting a count
41+
assertType('numeric-string|WP_Error', wp_get_post_terms($postID, $taxonomy, ['fields' => 'count']));
42+
3543
// Unknown fields value
36-
assertType('array<int, int|string|WP_Term>|WP_Error', wp_get_post_terms($postID, $taxonomy, ['fields' => (string)$_GET['fields']]));
44+
assertType('array<int, int|string|WP_Term>|numeric-string|WP_Error', wp_get_post_terms($postID, $taxonomy, ['fields' => (string)$_GET['fields']]));

wordpress-stubs.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -134180,7 +134180,7 @@ function wp_untrash_post_comments($post = \null)
134180134180
* meta_type_key?: string,
134181134181
* meta_query?: array,
134182134182
* } $args See WP_Term_Query::__construct()
134183-
* @phpstan-return ($args is array{fields: 'names'|'slugs'} ? list<string> : ($args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : ($args is array{fields: 'id=>parent'} ? array<int, int> : ($args is array{fields: 'all'|'all_with_object_id'} ? array<int, \WP_Term> : list<int>))))|\WP_Error
134183+
* @phpstan-return ($post_id is 0 ? array{} : (($args is array{fields: 'names'|'slugs'} ? list<string> : ($args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : ($args is array{fields: 'id=>parent'} ? array<int, int> : ($args is array{fields: 'all'|'all_with_object_id'} ? array<int, \WP_Term> : ($args is array{fields: 'count'} ? numeric-string : list<int>)))))|\WP_Error))
134184134184
*/
134185134185
function wp_get_post_categories($post_id = 0, $args = array())
134186134186
{
@@ -134236,7 +134236,7 @@ function wp_get_post_categories($post_id = 0, $args = array())
134236134236
* meta_type_key?: string,
134237134237
* meta_query?: array,
134238134238
* } $args See WP_Term_Query::__construct()
134239-
* @phpstan-return ($args is array{fields: 'names'|'slugs'} ? list<string> : ($args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : ($args is array{fields: 'id=>parent'} ? array<int, int> : ($args is array{fields: 'ids'|'tt_ids'} ? list<int> : array<int, \WP_Term>))))|\WP_Error
134239+
* @phpstan-return ($post_id is 0 ? array{} : (($args is array{fields: 'names'|'slugs'} ? list<string> : ($args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : ($args is array{fields: 'id=>parent'} ? array<int, int> : ($args is array{fields: 'ids'|'tt_ids'} ? list<int> : ($args is array{fields: 'count'} ? numeric-string : array<int, \WP_Term>)))))|\WP_Error))
134240134240
*/
134241134241
function wp_get_post_tags($post_id = 0, $args = array())
134242134242
{
@@ -134294,7 +134294,7 @@ function wp_get_post_tags($post_id = 0, $args = array())
134294134294
* meta_type_key?: string,
134295134295
* meta_query?: array,
134296134296
* } $args
134297-
* @phpstan-return ($args is array{fields: 'names'|'slugs'} ? list<string> : ($args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : ($args is array{fields: 'id=>parent'} ? array<int, int> : ($args is array{fields: 'ids'|'tt_ids'} ? list<int> : array<int, \WP_Term>))))|\WP_Error
134297+
* @phpstan-return ($post_id is 0 ? array{} : ($taxonomy is empty ? array{} : (($args is array{fields: 'names'|'slugs'} ? list<string> : ($args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : ($args is array{fields: 'id=>parent'} ? array<int, int> : ($args is array{fields: 'ids'|'tt_ids'} ? list<int> : ($args is array{fields: 'count'} ? numeric-string : array<int, \WP_Term>)))))|\WP_Error)))
134298134298
*/
134299134299
function wp_get_post_terms($post_id = 0, $taxonomy = 'post_tag', $args = array())
134300134300
{
@@ -140820,7 +140820,7 @@ function wp_delete_category($cat_id)
140820140820
* meta_type_key?: string,
140821140821
* meta_query?: array,
140822140822
* } $args See WP_Term_Query::__construct()
140823-
* @phpstan-return ($args is array{fields: 'names'|'slugs'} ? list<string> : ($args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : ($args is array{fields: 'id=>parent'} ? array<int, int> : ($args is array{fields: 'ids'|'tt_ids'} ? list<int> : array<int, \WP_Term>))))|\WP_Error
140823+
* @phpstan-return ($object_ids is empty ? array{} : ($taxonomies is empty ? array{} : (($args is array{fields: 'names'|'slugs'} ? list<string> : ($args is array{fields: 'id=>name'|'id=>slug'} ? array<int, string> : ($args is array{fields: 'id=>parent'} ? array<int, int> : ($args is array{fields: 'ids'|'tt_ids'} ? list<int> : ($args is array{fields: 'count'} ? numeric-string : array<int, \WP_Term>)))))|\WP_Error)))
140824140824
*/
140825140825
function wp_get_object_terms($object_ids, $taxonomies, $args = array())
140826140826
{

0 commit comments

Comments
 (0)