Commit Graph

433 Commits

Author SHA1 Message Date
Sergey Biryukov
accdb47ffb Taxonomy: Use a consistent check for the $rewrite['hierarchical'] parameter.
This avoids a "Trying to access array offset on value of type bool" PHP warning in `get_term_link()` if the `$rewrite` parameter of `register_taxonomy()` is set as `false`.

Props Tkama, SergeyBiryukov.
Fixes #52882.

git-svn-id: https://develop.svn.wordpress.org/trunk@50565 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-23 13:53:50 +00:00
Sergey Biryukov
ccb4474b4a Docs: Fix typo in pre_term_link filter description.
See #52628.

git-svn-id: https://develop.svn.wordpress.org/trunk@50562 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-22 19:17:45 +00:00
Sergey Biryukov
1446948f95 Docs: Add missing @since tags for item_link and item_link_description post type and taxonomy labels.
Follow-up to [50527].

See #52688.

git-svn-id: https://develop.svn.wordpress.org/trunk@50529 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-13 10:23:56 +00:00
Greg Ziółkowski
380d0445e8 Editor: Make block type aware of variations
Currently block variations are only defined on the client. In some cases, creating block variations on the server can be very useful, especially when needed data is not exposed in the REST APIs.

Related to https://github.com/WordPress/gutenberg/pull/29095.

Props: gwwar, timothyblynjacobs.
Fixes: #52688.



git-svn-id: https://develop.svn.wordpress.org/trunk@50527 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-12 13:33:21 +00:00
John Blackbourn
fa05e5e733 Docs: Add examples of possible names for various hooks whose name contains a dynamic portion.
This provides greater discoverability of such hooks in search results on the Code Reference site as well as increased clarity when reading the source.

See #50734, #52628


git-svn-id: https://develop.svn.wordpress.org/trunk@50505 602fd350-edb4-49c9-b593-d223f7449a82
2021-03-07 12:30:38 +00:00
Sergey Biryukov
d1c40e9a3d Taxonomy: Optimize wp_delete_term() for large object counts without a default term.
When deleting a term, it has to be removed individually from each object it's connected to, which can take some significant time when there are a lot of objects.

By calling `wp_remove_object_terms()` when no default term is required, we can skip the terms fetch/diff step and significantly speed up the deletion process.

Props dd32.
Fixes #52549.

git-svn-id: https://develop.svn.wordpress.org/trunk@50389 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-19 14:29:29 +00:00
Sergey Biryukov
a07d734d77 Docs: Use typed array notation in the update_post_term_count_statuses filter DocBlock.
Follow-up to [50169].

See #38843.

git-svn-id: https://develop.svn.wordpress.org/trunk@50231 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-05 19:11:15 +00:00
Anthony Burchell
422c2c4ad2 Taxonomy: Add filter for post statuses when updating term count.
This adds a filter that allows `$post_statuses` to be modified in term count.

Props GunGeekATX, adamsilverstein, davecpage, nwjames, hellofromTonya, audrasjb, peterwilsoncc, TimothyBlynJacobs.
Fixes #38843.


git-svn-id: https://develop.svn.wordpress.org/trunk@50169 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-02 21:04:58 +00:00
Sergey Biryukov
e1001678a6 Posts, Post Types: Introduce "Filter by date" and "Filter by category" as post type and taxonomy labels, respectively.
This provides a more consistent location for these strings and allows for reusing them in other places without hardcoding them in the markup.

Props nicolalaserra, audrasjb, johnjamesjacoby, SergeyBiryukov.
Fixes #42421.

git-svn-id: https://develop.svn.wordpress.org/trunk@50120 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-01 14:11:57 +00:00
John Blackbourn
66567d3191 Taxonomy: Declare and document the sort and args properties of the WP_Taxonomy class.
These properties have been in use since 2.5 and 2.6 but were never added as actual properties on the class. This fixes that.

Props gunnard, SergeyBiryukov

Fixes #52142


git-svn-id: https://develop.svn.wordpress.org/trunk@50116 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-31 23:13:50 +00:00
Sergey Biryukov
fbab01c8ce Docs: In various @return tags, list the expected type first, instead of false.
Follow-up to [46696], [47060], [49926], [49927], [49929].

See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49963 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-15 20:06:50 +00:00
John Blackbourn
cf68c90021 Taxonomy: Correct and clarify documentation for the return types of term query functions.
See #51800, #38266


git-svn-id: https://develop.svn.wordpress.org/trunk@49947 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-08 15:22:17 +00:00
Sergey Biryukov
5c82078df7 Docs: Use more consistent descriptions for void|false return values.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49935 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-05 16:46:02 +00:00
Sergey Biryukov
715daf875a Docs: In various @return tags, list the expected type first, instead of false or WP_Error.
Follow-up to [46696], [47060], [49926], [49927].

See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49929 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-04 17:16:43 +00:00
John Blackbourn
679ccc35e6 Docs: Promote many bool types to true or false where only that value is used.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49927 602fd350-edb4-49c9-b593-d223f7449a82
2021-01-03 22:02:13 +00:00
John Blackbourn
37f8276a18 Docs: Various docblock improvements.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49790 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-10 23:57:29 +00:00
John Blackbourn
81b89682c3 Docs: Various docblock corrections.
See #51800


git-svn-id: https://develop.svn.wordpress.org/trunk@49789 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-10 23:51:52 +00:00
Sergey Biryukov
e328e26de3 Docs: Fix typo in references to WP_Error in some DocBlocks.
See #51800.

git-svn-id: https://develop.svn.wordpress.org/trunk@49769 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-08 11:49:23 +00:00
John Blackbourn
c8f7440c6a Docs: Upgrade more parameters in docblocks to used typed array notation.
See #51800, #41756


git-svn-id: https://develop.svn.wordpress.org/trunk@49693 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-24 21:25:46 +00:00
Sergey Biryukov
dff0ccf60a Docs: Use more specific type in parameter descriptions for in_category() and is_object_in_term().
This better aligns with `is_category()` and other conditional tags and their `WP_Query` counterpart methods.

Follow-up to [47402].

Props princeahmed.
Fixes #51825.

git-svn-id: https://develop.svn.wordpress.org/trunk@49669 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-19 15:18:28 +00:00
Sergey Biryukov
2c7b5c37db Docs: Fix typo in wp_get_object_terms filter DocBlock.
Follow-up to [49597].

See #50768.

git-svn-id: https://develop.svn.wordpress.org/trunk@49612 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-16 17:26:42 +00:00
John Blackbourn
c19f56747f Docs: Various docblock corrections and improvements.
See #50768


git-svn-id: https://develop.svn.wordpress.org/trunk@49597 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-14 16:33:52 +00:00
Sergey Biryukov
aac637dcdc Text Changes: Unify various "Back to..." vs. "Return to..." vs. "Go to..." strings.
Standardize on "Go to..." as a more appropriate option for most cases.

Props garrett-eclipse, kharisblank, audrasjb, ramiy, valentinbora.
Fixes #47235.

git-svn-id: https://develop.svn.wordpress.org/trunk@49539 602fd350-edb4-49c9-b593-d223f7449a82
2020-11-09 10:51:52 +00:00
Peter Wilson
088fd3cd39 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@49451 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-30 04:57:16 +00:00
Peter Wilson
db2a1ba75d 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@49316 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-26 23:05:22 +00:00
Sergey Biryukov
97b2f07d2e 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@49193 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-18 17:25:10 +00:00
Peter Wilson
36ef9cbca9 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@49141 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-14 00:49:52 +00:00
Sergey Biryukov
79703088c4 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@49108 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-08 21:13:57 +00:00
Sergey Biryukov
da93663d01 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@49043 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-25 00:02:39 +00:00
John Blackbourn
d34a21c950 Docs: Various docblock corrections and improvements.
See #50768

git-svn-id: https://develop.svn.wordpress.org/trunk@48941 602fd350-edb4-49c9-b593-d223f7449a82
2020-09-04 20:39:47 +00:00
Sergey Biryukov
380145e073 Docs: Update the description for the $legacy parameter of wp_count_terms() for consistency with get_terms().
Follow-up to [48840].

See #36399.

git-svn-id: https://develop.svn.wordpress.org/trunk@48843 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-23 00:06:04 +00:00
Felix Arntz
0228dd6a5d 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@48840 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-21 22:30:06 +00:00
Sergey Biryukov
a84a5029be Docs: Consistently use third-person singular verbs for various filter descriptions, per the documentation standards.
See #50768.

git-svn-id: https://develop.svn.wordpress.org/trunk@48782 602fd350-edb4-49c9-b593-d223f7449a82
2020-08-11 00:32:22 +00:00
John Blackbourn
1c6ca0998c Docs: Various fixes and improvements to inline documentation.
See #49572

git-svn-id: https://develop.svn.wordpress.org/trunk@48695 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-30 19:12:02 +00:00
Sergey Biryukov
cded42aa94 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@48665 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-28 15:40:35 +00:00
Sergey Biryukov
2547c15fee Coding Standards: Reformat a condifion for default taxonomy terms in map_meta_cap() for better readability.
Follow-up to [48356], [48480].

See #43517.

git-svn-id: https://develop.svn.wordpress.org/trunk@48664 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-28 14:40:06 +00:00
Sergey Biryukov
b7a5c75686 Docs: Document that various metadata functions return false for an invalid ID.
Props salcode.
See #40519.

git-svn-id: https://develop.svn.wordpress.org/trunk@48658 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-28 10:13:50 +00:00
Sergey Biryukov
9bd4234bf6 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@48600 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-24 12:17:54 +00:00
Sergey Biryukov
fc1e77f42b Docs: Correct some documentation for wp_update_term().
See #49572.

git-svn-id: https://develop.svn.wordpress.org/trunk@48599 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-24 12:02:47 +00:00
Sergey Biryukov
b932c543a2 Docs: Miscellaneous DocBlock corrections.
See #49572.

git-svn-id: https://develop.svn.wordpress.org/trunk@48591 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-23 21:53:43 +00:00
John Blackbourn
81a12a7bec Docs: Another pass at some inline docs fixes mostly made by PHPCBF.
See #49572, #50744

git-svn-id: https://develop.svn.wordpress.org/trunk@48590 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-23 21:09:04 +00:00
Sergey Biryukov
c843cf19c3 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@48480 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-14 16:39:44 +00:00
Jake Spurlock
0dcbb5b02d Coding standards: Fix a few phpcs errors to get tests passing.
See [48356], #43517.


git-svn-id: https://develop.svn.wordpress.org/trunk@48358 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-07 03:53:14 +00:00
Jake Spurlock
abfd9441b7 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@48356 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-07 00:53:41 +00:00
Sergey Biryukov
f5dcde26e5 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@48314 602fd350-edb4-49c9-b593-d223f7449a82
2020-07-05 11:11:46 +00:00
Sergey Biryukov
dc3c92d08f Docs: Improve documentation for the $prev_value parameter and return result of various metadata update functions.
Props stevenlinx.
Fixes #50502. See #49572.

git-svn-id: https://develop.svn.wordpress.org/trunk@48214 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-29 21:20:11 +00:00
Sergey Biryukov
6361798918 Docs: Improve documentation for optional parameters per the documentation standards.
See #49572.

git-svn-id: https://develop.svn.wordpress.org/trunk@48197 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-28 11:47:45 +00:00
Sergey Biryukov
2daeac989d 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@48187 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-26 22:29:27 +00:00
Sergey Biryukov
cdf3431ac9 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@48109 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-20 12:38:55 +00:00
Sergey Biryukov
5e2ef3d937 Docs: Capitalize "ID", when referring to a post ID, term ID, etc. in a more consistent way.
See #49572.

git-svn-id: https://develop.svn.wordpress.org/trunk@48104 602fd350-edb4-49c9-b593-d223f7449a82
2020-06-20 12:00:07 +00:00