Make WordPress Core

Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#14788 closed defect (bug) (duplicate)

get_categories returns (sub)categories with drafts

Reported by: illutic's profile illutic Owned by:
Milestone: Priority: normal
Severity: major Version: 3.0.1
Component: General Keywords: get_categories 2nd-opinion
Focuses: Cc:

Description

As stated in this topic, categories with drafts only are also included in the get_categories list.

The code I'm using (to get subcategories, it's inside functions.php):

/* subcategories */
	$args = array(
					'type'			=> 'post',
					'child_of'		=> $id
				);
    foreach (get_categories($args) as $cat)
	{
    	echo '<p><span class="subcategory">';
						
        $apps = $cat->category_count == 1 ? 'apartment' : 'apartments';
		
        echo '<a href="'.get_category_link( $cat->cat_ID ).'">'.$cat->cat_name.'</a> <small> ('.$cat->category_count.' ' . $apps . ')</small>';
        if ($cat->category_description != '')
		{
        	echo '<br />'.$cat->category_description . ' <a href="'.get_category_link( $cat->cat_ID ).'">View the apartments &raquo;</a>';
        }
        
		echo '</span></p>';
	} // end foreach

Change History (7)

#1 @illutic
15 years ago

the code from this post resolves this issue.

#2 @mdawaffe
14 years ago

  • Keywords 2nd-opinion added

I can't reproduce this. Related to #14344 ?

#3 @scribu
14 years ago

  • Milestone Awaiting Review deleted
  • Resolution set to duplicate
  • Status changed from new to closed

This is merely a consequence of #14076

#4 @scribu
14 years ago

Or rather #14084, to be more exact.

#5 @illutic
14 years ago

I'm not sure how my ticket would be related to 14344, #14076 or #14084. All three tickets are about the count that is being displayed.
I am talking about actually displaying the posts where drafts are included.

#6 @scribu
14 years ago

The code you provided as an example doesn't display any posts.

#7 @scribu
14 years ago

Also, if the post count didn't include draft posts, those subcategories wouldn't show up unless you set 'hide_empty' => false. That's why it's a duplicate.

Note: See TracTickets for help on using tickets.