Almost there!
It was quite simple to filter out unwanted categories from the category list (see below.) I still have other issues though, related to this mess of "static" pages that are more site pages instead of posts, but need to use the same master template. Anyway, here's what I did do keep my "About" category from showing up in the category list:
In b2template-functions.php, I made the following changes:
In the line:
function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc', $file = 'blah', $list = true, $optiondates = 0, $optioncount = 0, $hide_empty = 1) {
I added:
, $filter = 0
just after the $hide_empty = 1
In-between the two lines:
$query .= " WHERE cat_ID > 0 ";
$query .= " GROUP BY post_category ";
I inserted the line:
$query .= " AND cat_ID NOT IN ($filter) ";
Next, in my index.php template, where I'm calling my category list, I changed it to:
<?php list_cats(0, 'All', 'name', 'asc', 'index.php',true,0,1,1,'14,17'); ?>
The bit at the end '14,17' is telling the list_cats function not to fetch categories 14 or 17. (cat 14 is my "About" category, and cat 17 is my newly created "Not Found" category. See this thread for more info on the "Not Found" business...)
I'm still having issues, though, keeping posts from those categories off the home page. Adding the following just after $blog = 1; in my template:
if (empty($cat))
$cat = -14;
will keep any posts from category 14 from showing up on my home page. However, I've just discovered it breaks the post_per_page functionality and instead lists *all* other posts (no limit.) Also, I can't find a way to use multiple categories (ex: $cat = '-14 -17'; doesn't work. It only filters out the first one listed. )
So, for the time being I've set the dates for my About page and my Not Found page to a time in the past so they drop off the home page. They still show up in the archives, though, but that's another story altogether.
I'm starting to think I should just abandon the idea and use individual pages with the same template (about.php, for example), although I hate the thought of keeping all these separate template pages synched up.
Arrggghhh. I need food.
-Tony