Make WordPress Core

Opened 14 years ago

Last modified 14 years ago

#14446 closed defect (bug)

get_terms exclusions does not work w/ empty child_of taxonomies — at Initial Version

Reported by: layotte's profile layotte Owned by:
Milestone: 3.1 Priority: normal
Severity: normal Version: 3.0
Component: Taxonomy Keywords: has_patch
Focuses: Cc:

Description

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[0], 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 :).

Diff attached.

Change History (1)

@layotte
14 years ago

Note: See TracTickets for help on using tickets.