PHP: Get WordPress Post Categories

By  on  

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.

Recent Features

Incredible Demos

  • By
    Prevent Page Zooming in Mobile Browsers

    Ever since I got my iPhone, I've been more agreeable in going places that my fiancee wants to go. It's not because I have any interest in checking out women's shoes, looking at flowers, or that type of stuff -- it's because my iPhone lets...

  • By
    Create Keyboard Shortcuts with Mousetrap

    Some of the finest parts of web apps are hidden in the little things.  These "small details" can often add up to big, big gains.  One of those small gains can be found in keyboard shortcuts.  Awesome web apps like Gmail and GitHub use loads of...

Discussion

  1. 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!

  2. I have permalinks set up.
    Before permalinks setup I have query string like this,

    http://localhost/wordpress/products-page?category=2&product_id=11

    And by changing it to permalinks to numeric,

    It shows ;
    http://localhost/wordpress/products-page/po-campo1/product-3

    So, how can I get category_id and product_id at the top of the page?

    If you know that please share it with me, I really need it.

  3. conualfy

    I have one question: how can one get the categories in a tree/branches structure? I mean parents -> children -> subchildren, etc.?

  4. nice tips and good information.thank you.i like ur site .visit mine and give me some tips dude.

  5. Nice tip David. I wanted this functionality for my blog.

  6. thansk ! i neeed this code to fetch all the post in a specia category !

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!