PHP: Get WordPress Post Categories

Written by David Walsh on Thursday, October 16, 2008


When I put together my WordPress theme, I wanted to put all of my post categories in the footer of the page and in two column format. Obviously there isn’t a built-in WordPress function that will format the categories the way I wanted to so it was up to me to do all the work. Here’s how I was a able to put my categories in two column format.

The PHP Code

<h5>Discussion Topics</h5>
<?php
	/* BUILD THE CATEGORY LIST */
	$categories = get_categories(array('type' => 'post','child_of' => 0,'orderby' => 'name','order' => 'ASC','hide_empty' => true));
	$category_count = 0; $category_col = 1;
	
	foreach($categories as $catty) 
	{
		$category_count++;
		${'category_list_'.$category_col}[] = array('name'=>$catty->cat_name,'url'=>$catty->category_nicename);
		if(floor($category_count) == (count($categories) / 2)) { $category_col = 2; }
	}
?>
<div id="col-1">
	<?php foreach($category_list_1 as $item) { echo '<a href="/sugar/',$item['url'],'">',$item['name'],'</a>'; } ?>
</div>
<div id="col-2">
	<?php foreach($category_list_2 as $item) { echo '<a href="/sugar/',$item['url'],'">',$item['name'],'</a>'; } ?>
</div>

Easy, right? WordPress is a magnificent tool with plenty of helpful functions — the get_categories() function is only one of them.


Epic Discussion

Commenter Avatar April 11 / #

THANK YOU SO MUCH FOR THIS CODE!

I had to do a little modifying to it to do what I wanted to do but your code is the basis for my XML Toolbar Menu Code!
(http://conduit.com/)

This now allows me to add an automatically updating Wordpress Category List organized in Menus and Submenus to my toolbar!

You probably have no idea what I’m talking about but whatever…

THANK YOU!

Be Heard!

I want to hear what you have to say! Share your comments and questions below.

Name*:
Email*:
Website:  


© David Walsh 2007-2010. Contact David Walsh. Powered by the remarkable MooTools javascript framework.