Peter Wilson
c8d5bc3c50
Taxonomy: Revert Light-weight/partial term counts.
...
Partial revert of [49141], [49171], [49316].
All functional changes are removed, appropriate term counting unit tests are retained.
See #40351 .
Built from https://develop.svn.wordpress.org/trunk@49451
git-svn-id: http://core.svn.wordpress.org/trunk@49210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-30 04:59:08 +00:00
Peter Wilson
6c92704e10
Taxonomy: Fix values passed to actions in `wp_modify_term_count_by_now()`.
...
Replace the `WP_Taxonomy` object with the taxonomy slug in the values passed to the actions `edit_term_taxonomy` and `edited_term_taxonomy` within `wp_modify_term_count_by_now()`.
Follow up to [49141], [49171].
Props Chouby, lcyh78.
Fixes #40351 .
Built from https://develop.svn.wordpress.org/trunk@49316
git-svn-id: http://core.svn.wordpress.org/trunk@49078 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-26 23:07:06 +00:00
Sergey Biryukov
0e3147c40e
Coding Standards: Replace alias PHP functions with the canonical names.
...
Using the canonical function name for PHP functions is strongly recommended, as aliases may be deprecated or removed without (much) warning.
This replaces all uses of the following:
* `join()` with `implode()`
* `sizeof()` with `count()`
* `is_writeable()` with `is_writable()`
* `doubleval()` with a `(float)` cast
In part, this is a follow-up to #47746 .
Props jrf.
See #50767 .
Built from https://develop.svn.wordpress.org/trunk@49193
git-svn-id: http://core.svn.wordpress.org/trunk@48955 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-18 17:27:06 +00:00
Peter Wilson
fa5a6c8622
Taxonomy: Improve performance of term recounting database queries.
...
When modifying terms assigned to an object, replace full term recounts with incrementing/decrementing the count as appropriate. This provides a significant performance boost on sites with a high number of term/object relationships and/or posts.
Introduces the functions `wp_increment_term_count()`, `wp_decrement_term_count()`, `wp_modify_term_count_by()` and `wp_modify_term_count_by_now()` for updating the term count.
Introduces the function `_wp_prevent_term_counting()` for preventing double counting on posts that are about to transition.
Adds the parameter `update_count_by_callback` to `register_taxonomy()` to allow developers to use a custom callback for incrementing or decrementing a term count.
Props boonebgorges, davidbaumwald, hellofromTonya, johnbillion, lcyh78, mattoperry, peterwilsoncc, rebasaurus, whyisjake.
Fixes #40351 .
Built from https://develop.svn.wordpress.org/trunk@49141
git-svn-id: http://core.svn.wordpress.org/trunk@48903 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-14 00:51:06 +00:00
Sergey Biryukov
897f004a9c
General: Replace older-style PHP type conversion functions with type casts.
...
This improves performance, readability, and consistency throughout core.
* `intval()` → `(int)`
* `strval()` → `(string)`
* `floatval()` → `(float)`
Props ayeshrajans.
Fixes #42918 .
Built from https://develop.svn.wordpress.org/trunk@49108
git-svn-id: http://core.svn.wordpress.org/trunk@48870 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-10-08 21:15:13 +00:00
Sergey Biryukov
4f8f42747f
Code Modernization: Correct the check for `parent` argument in `wp_insert_term()` and `wp_update_term()`.
...
PHP 8 changes the way string to number comparisons are performed: https://wiki.php.net/rfc/string_to_number_comparison
In particular, checking if a non-empty, non-numeric string is greater than zero in PHP 8 evaluates to `true`, not `false`.
For `wp_insert_term()`, this resulted in a "Parent term does not exist" error for a non-numeric string, instead of discarding the value.
By explicitly casting the value to `int`, we make sure to compare both values as numbers, rather than a string and a number.
Follow-up to [29196], [29830], [29867].
See #50913 .
Built from https://develop.svn.wordpress.org/trunk@49043
git-svn-id: http://core.svn.wordpress.org/trunk@48805 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-09-25 00:04:04 +00:00
John Blackbourn
d0a32c5111
Docs: Various docblock corrections and improvements.
...
See #50768
Built from https://develop.svn.wordpress.org/trunk@48941
git-svn-id: http://core.svn.wordpress.org/trunk@48703 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-09-04 20:41:07 +00:00
Sergey Biryukov
5fc75503e4
Docs: Update the description for the `$legacy` parameter of `wp_count_terms()` for consistency with `get_terms()`.
...
Follow-up to [48840].
See #36399 .
Built from https://develop.svn.wordpress.org/trunk@48843
git-svn-id: http://core.svn.wordpress.org/trunk@48605 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-08-23 00:08:06 +00:00
Felix Arntz
5918f7e11d
Taxonomy: Allow for `wp_count_terms( $args )` signature, making passing a taxonomy optional.
...
This brings `wp_count_terms()` in line with other taxonomy functions such as `get_terms()` which technically no longer require a taxonomy. Similar to the previously modified functions, no deprecation warning is triggered when using the legacy signature.
Fixes #36399 .
Built from https://develop.svn.wordpress.org/trunk@48840
git-svn-id: http://core.svn.wordpress.org/trunk@48602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-08-21 22:32:06 +00:00
Sergey Biryukov
1f85e7484f
Docs: Consistently use third-person singular verbs for various filter descriptions, per the documentation standards.
...
See #50768 .
Built from https://develop.svn.wordpress.org/trunk@48782
git-svn-id: http://core.svn.wordpress.org/trunk@48544 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-08-11 00:34:08 +00:00
John Blackbourn
782f05d2c5
Docs: Various fixes and improvements to inline documentation.
...
See #49572
Built from https://develop.svn.wordpress.org/trunk@48695
git-svn-id: http://core.svn.wordpress.org/trunk@48457 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-30 19:14:03 +00:00
Sergey Biryukov
3da046e1bc
Taxonomy: Rename the `default_taxonomy_$taxonomy` option key to `default_term_$taxonomy`.
...
This better reflects the purpose of the option.
Follow-up to [48356], [48480].
See #43517 .
Built from https://develop.svn.wordpress.org/trunk@48665
git-svn-id: http://core.svn.wordpress.org/trunk@48427 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-28 15:42:07 +00:00
Sergey Biryukov
38e6367808
Coding Standards: Reformat a condifion for default taxonomy terms in `map_meta_cap()` for better readability.
...
Follow-up to [48356], [48480].
See #43517 .
Built from https://develop.svn.wordpress.org/trunk@48664
git-svn-id: http://core.svn.wordpress.org/trunk@48426 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-28 14:42:04 +00:00
Sergey Biryukov
5f6d6a79e8
Docs: Document that various metadata functions return false for an invalid ID.
...
Props salcode.
See #40519 .
Built from https://develop.svn.wordpress.org/trunk@48658
git-svn-id: http://core.svn.wordpress.org/trunk@48420 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-28 10:15:04 +00:00
Sergey Biryukov
b31a5f7569
Docs: Correct documentation for `wp_insert_term()`.
...
The function is used for adding a new term, not updating an existing one.
Props audrasjb, bmartinent.
Fixes #50753 .
Built from https://develop.svn.wordpress.org/trunk@48600
git-svn-id: http://core.svn.wordpress.org/trunk@48362 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-24 12:19:05 +00:00
Sergey Biryukov
faf85323a6
Docs: Correct some documentation for `wp_update_term()`.
...
See #49572 .
Built from https://develop.svn.wordpress.org/trunk@48599
git-svn-id: http://core.svn.wordpress.org/trunk@48361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-24 12:04:08 +00:00
Sergey Biryukov
d936f2c959
Docs: Miscellaneous DocBlock corrections.
...
See #49572 .
Built from https://develop.svn.wordpress.org/trunk@48591
git-svn-id: http://core.svn.wordpress.org/trunk@48353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-23 21:55:04 +00:00
John Blackbourn
9bc7d0a776
Docs: Another pass at some inline docs fixes mostly made by PHPCBF.
...
See #49572 , #50744
Built from https://develop.svn.wordpress.org/trunk@48590
git-svn-id: http://core.svn.wordpress.org/trunk@48352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-23 21:11:05 +00:00
Sergey Biryukov
49a9cede70
Taxonomy: Make some adjustments to handling default terms for custom taxonomies:
...
* Move default term assignment from `wp_set_object_terms()` to `wp_insert_post()`.
* Make sure the passed taxonomy list overwrites the existing list if not empty.
* Remove the default term option on `unregister_taxonomy()`.
* Prevent deletion of the default term in `wp_delete_term()`.
Props enrico.sorcinelli, TimothyBlynJacobs.
See #43517 .
Built from https://develop.svn.wordpress.org/trunk@48480
git-svn-id: http://core.svn.wordpress.org/trunk@48249 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-14 16:41:03 +00:00
whyisjake
6542769c56
Coding standards: Fix a few phpcs errors to get tests passing.
...
See [48356], #43517 .
Built from https://develop.svn.wordpress.org/trunk@48358
git-svn-id: http://core.svn.wordpress.org/trunk@48127 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-07 03:55:02 +00:00
whyisjake
49d23a2bbe
Taxonomy: Add support for default terms for custom taxonomies.
...
The new default_term argument is added to `register_taxonomy()` allowing a user to define the default term `name` and optionally `slug` and `description`.
Fixes #43517 .
Props enrico.sorcinelli, SergeyBiryukov, desrosj, davidbaumwald, whyisjake.
Built from https://develop.svn.wordpress.org/trunk@48356
git-svn-id: http://core.svn.wordpress.org/trunk@48125 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-07 00:55:03 +00:00
Sergey Biryukov
de751a91db
Taxonomy: Introduce `saved_term` and `saved_{$taxonomy}` actions to complement `created_term` and `created_{$taxonomy}`.
...
This allows for hooking into both the create and update events with a single callback, in the same way that is already possible for posts via the `save_post` and `save_post_{$post->post_type}` actions.
Props dlh.
Fixes #48416 .
Built from https://develop.svn.wordpress.org/trunk@48314
git-svn-id: http://core.svn.wordpress.org/trunk@48083 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-07-05 11:13:03 +00:00
Sergey Biryukov
347e831768
Docs: Improve documentation for the `$prev_value` parameter and return result of various metadata update functions.
...
Props stevenlinx.
Fixes #50502 . See #49572 .
Built from https://develop.svn.wordpress.org/trunk@48214
git-svn-id: http://core.svn.wordpress.org/trunk@47983 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-29 21:22:09 +00:00
Sergey Biryukov
58ad216087
Docs: Improve documentation for optional parameters per the documentation standards.
...
See #49572 .
Built from https://develop.svn.wordpress.org/trunk@48197
git-svn-id: http://core.svn.wordpress.org/trunk@47966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-28 11:49:02 +00:00
Sergey Biryukov
cb9c2ae83f
Taxonomy: Make sure `update_object_term_cache()` caches all terms that were not already cached.
...
Due to an unintended `break` instruction from a previous iteration, the function cached only one term in each taxonomy.
Follow-up to [48055].
Props Chouby.
Fixes #50352 .
Built from https://develop.svn.wordpress.org/trunk@48187
git-svn-id: http://core.svn.wordpress.org/trunk@47956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-26 22:31:08 +00:00
Sergey Biryukov
b16368c268
Docs: Remove `@staticvar` tags from core.
...
The tag was supported in phpDocumentor 1.x, but is no longer supported in 2.x and 3.x.
Usage of static variables is considered an internal implementation detail and has no information value for someone reading the docs.
Props alishanvr, jrf.
Fixes #50426 .
Built from https://develop.svn.wordpress.org/trunk@48109
git-svn-id: http://core.svn.wordpress.org/trunk@47878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-20 12:40:12 +00:00
Sergey Biryukov
e13c363b17
Docs: Capitalize "ID", when referring to a post ID, term ID, etc. in a more consistent way.
...
See #49572 .
Built from https://develop.svn.wordpress.org/trunk@48104
git-svn-id: http://core.svn.wordpress.org/trunk@47873 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-20 12:02:12 +00:00
Sergey Biryukov
a8cd3a3e2c
Coding Standards: Rename the `$clean` or `$ids` variable in several functions to `$non_cached_ids` for clarity.
...
* `_get_non_cached_ids()`
* `update_meta_cache()`
* `update_object_term_cache()`
See #49542 .
Built from https://develop.svn.wordpress.org/trunk@48065
git-svn-id: http://core.svn.wordpress.org/trunk@47832 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-16 19:09:08 +00:00
whyisjake
8a6cc1a810
Cache API: Add `wp_cache_get_multiple()` to core functions.
...
* `update_object_term_cache`
* `update_meta_cache`
* `_get_non_cached_ids`
See [47938].
Fixes #50352 .
Props spacedmonkey, tillkruss, lukecavanagh.
Built from https://develop.svn.wordpress.org/trunk@48055
git-svn-id: http://core.svn.wordpress.org/trunk@47822 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-16 06:30:09 +00:00
Sergey Biryukov
40584118d9
Docs: Document that `get_tags()` returns a `WP_Error` object if any of the specified taxonomies do not exist.
...
Props coffee2code.
Fixes #50344 .
Built from https://develop.svn.wordpress.org/trunk@47930
git-svn-id: http://core.svn.wordpress.org/trunk@47703 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-06-09 11:14:12 +00:00
Sergey Biryukov
5f47ca5b8b
Docs: Adjust the documentation for the new `ID` alias in `get_term_by()` for consistency with `get_user_by()`.
...
Follow-up to [47865].
See #45163 .
Built from https://develop.svn.wordpress.org/trunk@47870
git-svn-id: http://core.svn.wordpress.org/trunk@47645 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-31 19:53:04 +00:00
whyisjake
7798f64340
Taxonomy: Extend `get_term_by` to accept `ID` as a term parameter.
...
Similar to `get_user_by`, both `ID` and `id` should be able to accepted.
Fixes #45163 .
Props emrikol, esoj.
Built from https://develop.svn.wordpress.org/trunk@47865
git-svn-id: http://core.svn.wordpress.org/trunk@47641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-05-29 22:43:09 +00:00
Sergey Biryukov
427405535f
Docs: Synchronize parameter documentation for various metadata functions, update per the documentation standards.
...
See #49572 .
Built from https://develop.svn.wordpress.org/trunk@47611
git-svn-id: http://core.svn.wordpress.org/trunk@47386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-22 10:31:09 +00:00
Sergey Biryukov
9aa0fff80e
Docs: Document the default value of `$single` and `$prev_value` parameters in various metadata functions.
...
Props denisco.
See #49572 .
Built from https://develop.svn.wordpress.org/trunk@47610
git-svn-id: http://core.svn.wordpress.org/trunk@47385 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-22 09:40:10 +00:00
Sergey Biryukov
a21b8a91c6
Docs: Add a `@since` note for un-deprecated `category_link` and `tag_link` filters.
...
Follow-up to [47576].
See #49759 .
Built from https://develop.svn.wordpress.org/trunk@47578
git-svn-id: http://core.svn.wordpress.org/trunk@47353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-14 08:15:19 +00:00
whyisjake
0a714eb26f
Taxonomy: Un-depracate `category_link` and `tag_link` filters.
...
Depracating these filter might have been an accident, so let's restore.
Props SergeyBiryukov, audrasjb, peterwilsoncc.
Fixes #49759 .
Built from https://develop.svn.wordpress.org/trunk@47576
git-svn-id: http://core.svn.wordpress.org/trunk@47351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-14 00:33:09 +00:00
Sergey Biryukov
856e1a27b8
Coding Standards: Use strict type check for `in_array()` and `array_search()`.
...
This addresses all the remaining `WordPress.PHP.StrictInArray.MissingTrueStrict` issues in core.
Includes minor code layout fixes for better readability.
Follow-up to [47550].
See #49542 .
Built from https://develop.svn.wordpress.org/trunk@47557
git-svn-id: http://core.svn.wordpress.org/trunk@47332 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-09 15:43:10 +00:00
Sergey Biryukov
38676936ba
Coding Standards: Use strict type check for `in_array()` and `array_search()` where strings are involved.
...
This reduces the number of `WordPress.PHP.StrictInArray.MissingTrueStrict` issues from 486 to 50.
Includes minor code layout fixes for better readability.
See #49542 .
Built from https://develop.svn.wordpress.org/trunk@47550
git-svn-id: http://core.svn.wordpress.org/trunk@47325 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-05 03:02:11 +00:00
Sergey Biryukov
641c632b0c
Coding Standards: Use Yoda conditions where appropriate.
...
See #49222 .
Built from https://develop.svn.wordpress.org/trunk@47219
git-svn-id: http://core.svn.wordpress.org/trunk@47019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-09 16:55:09 +00:00
John Blackbourn
71f099fdb0
Taxonomy: Clarify the docs for the return values of the `term_exists()` function.
...
Props dotancohen, sathyapulse
Fixes #43345
Built from https://develop.svn.wordpress.org/trunk@47205
git-svn-id: http://core.svn.wordpress.org/trunk@47005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-07 17:48:09 +00:00
Sergey Biryukov
fa0563c877
Docs: Add a `@since` note for [47186].
...
See #48558 .
Built from https://develop.svn.wordpress.org/trunk@47187
git-svn-id: http://core.svn.wordpress.org/trunk@46987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-05 06:33:04 +00:00
Sergey Biryukov
4f422b028d
Taxonomy: In `register_taxonomy()`, return the registered taxonomy object on success, for consistency with `register_post_type()`.
...
Props krynes, SergeyBiryukov.
Fixes #48558 .
Built from https://develop.svn.wordpress.org/trunk@47186
git-svn-id: http://core.svn.wordpress.org/trunk@46986 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-02-05 06:26:06 +00:00
Sergey Biryukov
001ffe81fb
Docs: Improve inline comments per the documentation standards.
...
Includes minor code layout fixes for better readability.
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@47122
git-svn-id: http://core.svn.wordpress.org/trunk@46922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-01-29 00:45:18 +00:00
Sergey Biryukov
396647666f
Docs: Various documentation fixes for unit test factories.
...
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@46985
git-svn-id: http://core.svn.wordpress.org/trunk@46785 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-18 00:19:02 +00:00
John Blackbourn
f93ee2ca76
Docs: Increase the specificity of various docblock parameter types and return types.
...
See #48303
Built from https://develop.svn.wordpress.org/trunk@46823
git-svn-id: http://core.svn.wordpress.org/trunk@46623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-06 22:43:04 +00:00
Sergey Biryukov
3d623995a8
Docs: In various `@return` tags, list the expected type first, instead of `WP_Error`.
...
See #48303 .
Built from https://develop.svn.wordpress.org/trunk@46696
git-svn-id: http://core.svn.wordpress.org/trunk@46496 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-11 02:43:03 +00:00
Sergey Biryukov
1f816ad18d
Docs: Use the `{@see ...}` tag for the replacement in `@deprecated` tags, so that Developer Reference could automatically link to the replacement.
...
Props jrf.
See #48255 .
Built from https://develop.svn.wordpress.org/trunk@46685
git-svn-id: http://core.svn.wordpress.org/trunk@46485 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-09 13:05:02 +00:00
Sergey Biryukov
f60094679f
Coding Standards: Consistently use `do_action_deprecated()` and `apply_filters_deprecated()` for deprecated hooks.
...
Props jrf.
See #48255 .
Built from https://develop.svn.wordpress.org/trunk@46684
git-svn-id: http://core.svn.wordpress.org/trunk@46484 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-09 12:59:03 +00:00
John Blackbourn
f545bb3f63
Docs: Improve documentation of known return types, plus other docs fixes.
...
See #48303
Built from https://develop.svn.wordpress.org/trunk@46660
git-svn-id: http://core.svn.wordpress.org/trunk@46460 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-11-05 21:23:02 +00:00
John Blackbourn
3caaa40fc6
Docs: Switch more docs over to typed array notation, plus some fixes.
...
See #48303 , #41756
Built from https://develop.svn.wordpress.org/trunk@46596
git-svn-id: http://core.svn.wordpress.org/trunk@46393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-10-26 21:09:04 +00:00