get_terms exclusions does not work w/ empty child_of taxonomies
|Reported by:||layotte||Owned by:|
Description (last modified by nacin)
Just ran into this problem, I created a category heirarchy:
Departments - ESSE - KINS - CSSE - WELSF
But I did not want the category tree to show up in the category list. So I modified the wp_list_categories statement to be:
<?php wp_list_categories('title_li=&hide_empty=0&exclude=3878,3877'); ?>
3878 is the category ID of "Departments", it was excluding "Departments" without a problem, but was listing the children of Departments. At first I thought this might be a heirarchy vs. exlude_tree problem, then I realized that the problem was that these were newly created Categories and they were empty.
Currently during the exclusion process for $exclude_tree is to:
$excluded_children = (array) get_terms($taxonomies, array('child_of' => intval($extrunk), 'fields' => 'ids' ));
(line 925 of taxonomy.php)
This was returning an empty array because all the children were empty. My diff fixes this by adding 'hide_empty' => 0 to the get_terms command. If we're looking for children to exclude, we probably want to exclude the empty ones too :).
Change History (6)
- Description modified (diff)
- Keywords changed from has_patch, needs_testing to has_patch needs_testing
- Milestone changed from Awaiting Review to 3.1