Try the code that follows the screenshot:
(source: mikeschinkel.com)
<?php
$categories = get_the_category();
foreach($categories as $key => $category) {
$url = get_term_link((int)$category->term_id,'category');
$categories[$key] =
"<dt><a href=\"{$url}\">{$category->name}</a></dt>" .
"<dd>{$category->category_description}</dd>";
}
echo "<dl>\n" . implode("\n",$categories) . "\n</dl>";
?>
Also, <?php echo category_description(the_category_id()); ?>
doesn’t do what you think it does. What follows will work on your category pages because it assumes the category ID for the category page:
<?php echo category_description(); ?>
FYI, the_category_id()
will echo the value of the current category ID, it doesn’t actually pass anything to category_description()
is looks like was your assumption. Besides, the_category_ID()
is deprecated so you wouldn’t want to use it anyway. By the way, I’ll bet you are seeing an errant number being displayed just before the category description is displayed?