[wp-trac] [WordPress Trac] #14446: get_terms exclusions does not work w/ empty child_of taxonomies
WordPress Trac
wp-trac at lists.automattic.com
Wed Jul 28 20:24:42 UTC 2010
#14446: get_terms exclusions does not work w/ empty child_of taxonomies
--------------------------+-------------------------------------------------
Reporter: layotte | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: 3.1
Component: Taxonomy | Version: 3.0
Severity: normal | Keywords: has_patch needs_testing
--------------------------+-------------------------------------------------
Changes (by nacin):
* keywords: has_patch, needs_testing => has_patch needs_testing
* milestone: Awaiting Review => 3.1
Old 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.
New 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.
--
--
Ticket URL: <http://core.trac.wordpress.org/ticket/14446#comment:1>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list