﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
17365	get_terms doesn't return terms with no posts if you specify a parent	mark8barnes		"get_terms doesn't return terms with no posts if you specify a parent (see also #15626 for a related bug). Let's imagine the following term structure:

{{{
---parent_term (0 count)
    |---child_term (10 count)
}}}

Calling `get_terms('category', array('parent' => 0))` should return both terms according to the documentation, but it doesn't. The documentation says that `hierarchical` defaults to true, which should '''""include terms that have non-empty descendants""'''. It's broken because the following code runs if a parent argument is present (lines 1139-3 of taxonomies.php).

{{{
if ( !$single_taxonomy || !is_taxonomy_hierarchical($taxonomies[0]) ||
	'' !== $args['parent'] ) {
$args['child_of'] = 0;
$args['hierarchical'] = false;
$args['pad_counts'] = false;
}}}

But nothing in the parent section of the documentation suggests that adding a parent will change the other defaults. The consequence of the above code comes in lines 1266-7:

{{{
if ( $hide_empty && !$hierarchical )
	$where .= ' AND tt.count > 0';
}}}

which means the parent_term is not being returned because it has a count of zero, and I can't walk down the tree to get the other terms.

At the very least, set this paramenter as default in $defaults, before `$args = wp_parse_args( $args, $defaults )` (rather than in `$args` afterwards) which would at least allow us to override this behaviour through explicit `$atts`. But it would be more logical simply to remove the test for `'' !== args['parent']` altogther, inline with the existing documentation."	defect (bug)	new	normal	Awaiting Review	Taxonomy	3.1.2	normal			mark8barnes
