Scott Taylor
ff8ae69fce
Eliminate the use of extract() in wp_delete_term().
...
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28466 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-17 14:54:03 +00:00
Scott Taylor
06c87f681a
Eliminate the use of extract() in get_terms().
...
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28465 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-17 14:46:07 +00:00
Scott Taylor
02066d4241
Eliminate the use of extract() in wp_insert_term().
...
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28464 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-17 14:15:40 +00:00
Scott Taylor
b1b30ad58c
Eliminate use of extract() in wp_update_term().
...
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28461 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-16 21:28:05 +00:00
Scott Taylor
ae938f524e
Eliminate use of extract() in wp_get_object_terms().
...
There are 3 properties, just set them to variables. They are used too often to warrant a refactor.
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28441 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 19:57:57 +00:00
Scott Taylor
034de7f1de
Eliminate the use of extract() in get_objects_in_term(). Only one property (order) was extracted.
...
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28423 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 05:42:55 +00:00
Scott Taylor
e00ce3ae95
Eliminate the use of extract() in WP_Tax_Query::get_sql(). All unit tests still pass.
...
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28422 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 05:40:40 +00:00
Scott Taylor
17edee17af
Eliminate the use of extract() in the_taxonomies(). Adds unit test.
...
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28421 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 05:24:54 +00:00
Scott Taylor
3e54a1fab5
Eliminate use of extract() in get_the_taxonomies(). Adds unit test.
...
See #22400 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28415 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-15 03:50:46 +00:00
Sergey Biryukov
6c401709f6
Correct 'show_in_menu' parameter description in register_taxonomy().
...
fixes #27943 .
git-svn-id: https://develop.svn.wordpress.org/trunk@28241 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-02 11:28:05 +00:00
Andrew Nacin
05ea231402
Avoid infinite recursion in get_term_children() when a term is incorrectly a parent of itself.
...
props kovshenin.
fixes #27123 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27837 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-29 06:07:17 +00:00
Drew Jaynes (DrewAPicture)
d5100269c8
Inline documentation for hooks in wp-includes/taxonomy.php.
...
Props kpdesign for some minor language tweaks.
Fixes #27505 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27827 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-28 21:28:23 +00:00
Drew Jaynes
5fde82be76
Better standardize parameter value types in PHPDocs where both a post ID or WP_Post would be acceptable.
...
Covers cases where previously only `int` or `int|object` types were notated.
Props coffee2code for the original patch.
See #20495 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27473 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-08 19:31:51 +00:00
Scott Taylor
3010c5aa20
In get_terms(), leverage get_term_children() over _get_term_children() when making sure to show empty terms that have children in a hierarchical taxonomy while avoiding duplicates.
...
Adds unit test for `child_of` param. Adjusts unit tests for `get_terms()`.
See [27108] and [27125].
Props SergeyBiryukov.
Fixes #27123 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27458 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-07 19:29:01 +00:00
Scott Taylor
666cd37087
get_term_children() returns an array of IDs, not objects. The docs have been updated to reflect this.
...
Fixes #27312 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27457 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-07 19:15:11 +00:00
Andrew Nacin
6a35efe1e5
Revert [27115] and let cache backends handle the stripping of spaces in cache keys as necessary.
...
microtime() returns greater precision than microtime(true).
see #27000 , #23448 , #26903 , #14485 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27300 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-26 22:04:52 +00:00
Drew Jaynes
647f80595d
Remove all @package and @subpackage PHPDoc tags not at the file- or class-levels in core.
...
See #27200 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27262 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-25 17:13:08 +00:00
Scott Taylor
664bf1fea2
Remove extraneous type-casting in wp_get_object_terms().
...
Props OriginalEXE.
Fixes #27133 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27186 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-17 21:55:41 +00:00
Scott Taylor
2e9d155703
Partially revert [27101], [27102], [27141], and [27142]. Those commits introduced new functions to sync up cache invalidation events. The current commit alters existing internals.
...
"The cache invalidation with static was introduced in r9102 with version 2.7. Multisite wasn't in core back then, so something like switch_to_blog() wasn't a concern, but now it breaks if you switch the blog in between calls to clean_term_cache."
This solution is simpler. All unit tests pass. Removes unnecessary tests linked to removed functions.
Props kovshenin.
Fixes #14485 , #22526 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27163 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-11 16:49:11 +00:00
Scott Taylor
e966a23683
Reuse the terms cache group for taxonomy cache invalidation.
...
See #22526 , #14485 , [27101], [27102].
git-svn-id: https://develop.svn.wordpress.org/trunk@27142 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-09 17:41:07 +00:00
Drew Jaynes
eb43703bba
Improve inline documentation for several 'last_changed'-related functions introduced in [27101] and [27102].
...
Functions include:
* `get_taxonomy_last_changed()`
* `set_taxonomy_last_changed()`
* `post_taxonomy_is_fresh()`
* `taxonomy_hierarchy_is_fresh()`
Fixes #22526 , #14485 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27141 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-09 02:01:28 +00:00
Scott Taylor
81679ef453
When a term_id matches in _get_term_children(), recurse through its children until there is no more depth in the hierarchy. Since get_terms() return terms with a count of 0 when their children are not empty, we must return all children so that get_terms() can check their count.
...
In [27108], #26903 was fixed, but only because we were using the example in the ticket, leaving out infinite depth for hierarchical taxonomies.
Adds unit tests, including `Tests_Term_getTerms::test_get_terms_seven_levels_deep()`.
Fixes #26903 . Again.
git-svn-id: https://develop.svn.wordpress.org/trunk@27125 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-07 19:53:01 +00:00
Andrew Nacin
4f5608f653
Use a float for last_changed microtime cache values.
...
microtime() by default returns a string with a space, which isn't allowed for keys in some cache backends.
props _jameslee, drozdz.
fixes #27000 . see #23448 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27115 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-07 08:13:37 +00:00
Scott Taylor
8dad11bfe2
In get_terms(), don't set automatically hierarchical to false when parent => 0 is passed. The default value for parent is ''.
...
In `_get_term_children()`, don't skip a top-level term without first including its children in the returned term list. Ironically, the call to `_get_term_children()` in `get_terms()` has a comment stating `"Make sure we show empty categories that have children."`, but it didn't work if you were retrieving top-level categories only.
All unit tests pass. Added a unit test based on the use case described in this ticket.
Fixes #26903 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27108 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-06 17:44:50 +00:00
Scott Taylor
50a96f165e
Regenerate the term hierarchy cache ({taxonomy}_children) when it is out of sync with the passed taxonomy's last_changed value.
...
Introduces `taxonomy_hierarchy_is_fresh()`, which is only called in `_get_term_hierarchy()`. The taxonomy's `last_changed` value is checked against the value of `wp_cache_get( 'hierarchy_last_changed', $taxonomy )`.
Adds a unit test - `Tests_Term:test_hierachy_invalidation()`.
See [27101], which makes this type of cache invalidation possible.
Fixes #14485 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27102 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-06 01:58:01 +00:00
Scott Taylor
e33ef0c6ac
Add cache invalidation when updating a term, example: create a category, assign it to a post, edit the category. Currently, the post's term cache is not updated. When updating terms in a given taxonomy, invalidate the object term caches linked to that taxonomy.
...
Introduce `get_taxonomy_last_changed()`, `set_taxonomy_last_changed()`, and `post_taxonomy_is_fresh()`.
`post_taxonomy_is_fresh()` is only called in `get_object_term_cache()` - at which point the taxonomy's `last_changed` value is checked against the post's `{$taxonomy}_last_changed` value.
`set_taxonomy_last_changed()` is called whenever directory database queries are made that insert new terms or affect existing terms.
Fixes #22526 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27101 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-06 01:40:05 +00:00
Scott Taylor
13c1dd0004
get_comment(), wp_get_post_revision(), and get_term() all used to return by reference. Because of this, $null was set to null so the return value would be a variable where applicable. This has not been necessary since [21792], so the $nulls have been removed.
...
Props toszcze.
Fixes #24768 .
git-svn-id: https://develop.svn.wordpress.org/trunk@27057 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-29 06:45:54 +00:00
Drew Jaynes
707e91c1e8
Add inline documentation for the 'show_admin_column' argument added to register_taxonomy() in 3.5.
...
Also adds a 'show_admin_column' value to the defaults array.
Props johnbillion.
Fixes #26707 .
git-svn-id: https://develop.svn.wordpress.org/trunk@26912 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-07 02:12:03 +00:00
Drew Jaynes
bd39e26032
First there were two, and now there are three -- in the @since versions that came before and that shall be. And so it will be, says nacin.
...
Props JustinSainton, SergeyBiryukov, DrewAPicture.
Fixes #26713 .
git-svn-id: https://develop.svn.wordpress.org/trunk@26868 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-24 18:56:05 +00:00
Andrew Nacin
922125f1cc
Be specific in term_exists error messages in wp_insert_term() as to what already exists (name, or name and slug).
...
props ericmann, SergeyBiryukov.
fixes #15741 .
git-svn-id: https://develop.svn.wordpress.org/trunk@26544 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-02 23:05:49 +00:00
Scott Taylor
b595282dff
Fix lingering reference problem in wp_get_object_terms() by not setting the foreach'd vars to a reference. Adds unit test.
...
Props stephenharris.
Fixes #26339 .
git-svn-id: https://develop.svn.wordpress.org/trunk@26510 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-01 23:59:13 +00:00
Sergey Biryukov
fc8d09e2a6
A negative term parent value should be sanitized to 0, not 1. Fix a regression in sanitize_term_field() caused by [26010].
...
props mattheu for initial patch.
fixes #25852 .
git-svn-id: https://develop.svn.wordpress.org/trunk@26028 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-06 23:40:46 +00:00
Scott Taylor
ed22220a0f
Cast proper fields to int when returning from wp_get_object_terms(). Add term_taxonomy_id and object_id to the list in sanitize_term() and sanitize_term_field().
...
Fixes #17646 . Adds unit tests.
Props simonwheatley, dd32, kovshenin.
git-svn-id: https://develop.svn.wordpress.org/trunk@26010 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-05 01:18:02 +00:00
Helen Hou-Sandi
b2e15261ba
Allow passing false for the meta_box_cb arg in register_taxonomy() to turn off the meta box display entirely. fixes #21543 .
...
git-svn-id: https://develop.svn.wordpress.org/trunk@25948 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-27 16:28:19 +00:00
Andrew Nacin
90b55d0279
Fix the exclude_tree argument in get_terms(), which fixes the exclude argument in wp_list_categories().
...
This was a 3.7 regression caused by [25162].
props dd32.
see #25710 for trunk.
git-svn-id: https://develop.svn.wordpress.org/trunk@25933 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-26 15:03:10 +00:00
Andrew Nacin
b0717588b7
Introduce register_taxonomy_for_object_type().
...
props leewillis77.
fixes #11058 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25596 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-24 02:54:00 +00:00
Andrew Nacin
9a45c4a414
Pass $taxonomies to two more filters in get_terms().
...
props johnbillion.
fixes #18754 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25576 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-23 18:38:50 +00:00
Andrew Nacin
46fef6ef24
Introduce a meta_box_cb argument for register_taxonomy().
...
The specified callback function is used as the meta box callback for the taxonomy.
props garyc40, helen.
fixes #14206 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25572 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-23 17:11:09 +00:00
Scott Taylor
0d6c7bbbc3
Add @access private to _get_custom_object_labels(), which was already implied by the dangling underscore. Cast $labels to array in get_taxonomy_labels() and _get_custom_object_labels().
...
Props nacin, foofy.
Fixes #16310 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25553 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-21 17:43:14 +00:00
Scott Taylor
325b1bf175
Ensure that terms with a post count of 0 are not returned in wp_count_terms() when hide_empty => true. Adds unit test which ensures that wp_count_terms() returns 0.
...
Props markjaquith.
Fixes #15919 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25551 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-21 16:47:43 +00:00
Drew Jaynes
bb42ed6893
Clarify error handling and special cases in the wp_insert_term() phpdoc block.
...
props lgedeon, SergeyBiryukov. See #22801 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25498 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-19 16:08:30 +00:00
Sergey Biryukov
15265acec5
Update inline documentation for wp_insert_term().
...
props DrewAPicture.
fixes #22801 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25489 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-19 01:56:16 +00:00
Scott Taylor
88639cb9b4
Use wp_parse_args() again for $args['rewrite'] in register_taxonomy().
...
Props SergeyBiryukov.
Fixes #23668 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25483 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-18 20:38:53 +00:00
Scott Taylor
f9877147f6
Use reset() to access the first element of an array, don't assume there is an item at index 0.
...
See #25282 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25384 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 05:08:33 +00:00
Scott Taylor
d091e1d0b7
Avoid a notice by casting $args['rewrite'] to array() before adding a slug property and running array_merge().
...
Fixes #23668 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25351 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 17:17:00 +00:00
Scott Taylor
3ee8135baa
Don't call sanitize_title_with_dashes( $taxonomy ) in register_taxonomy() unless $args['rewrite']['slug'] is empty.
...
Props SergeyBiryukov.
Fixes #23668 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25335 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 00:08:04 +00:00
Scott Taylor
0c0c81d81c
Add term_taxonomy_id to available fields in get_term_by(). Adds unit test.
...
Props jchristopher.
Fixes #21651 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25334 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 00:01:19 +00:00
Scott Taylor
e8c7634e79
Avoid database error when include or exclude is not really a term_id. Adds more unit tests.
...
Props kovshenin.
Fixes #11823 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25257 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-05 17:14:54 +00:00
Scott Taylor
89997e4c80
Introduce description__like arg to get_terms(). Make description__like and name__like perform LIKEs with a wildcard on both sides of passed string. Previously, strings had to match the beginning of the name, so searching for burrito in This is a burrito would fail. Adds unit tests.
...
Props aaroncampbell for the original patch, 5 years ago.
Fixes #8214 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25241 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-04 19:40:17 +00:00
Scott Taylor
59b9a3a6f8
No need to re-map the return values of wp_parse_id_list() to int.
...
See #22074 , #11823 .
git-svn-id: https://develop.svn.wordpress.org/trunk@25169 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-29 18:53:03 +00:00