wp_list_categories() WITH current_cat_ancestor
2010-01-16 @ 14:50WordPress have a ”bug”. It doesn’t add a current_cat_ancestor class to the wp_list_pages function. If you need it, you can use the code below.
function wp_list_categories2($args = '') { global $cat; if($args == '') $wp_list_categories = wp_list_categories(); else $wp_list_categories = wp_list_categories($args); $cat_id_cut1 = explode('cat-item-', $wp_list_categories); for($i=1; $i<sizeof($cat_id_cut1); $i++) { $cat_id_cut2 = explode('"><a', $cat_id_cut1[$i]); $category_id_array[] = $cat_id_cut2[0]; } for($i=0; $i<sizeof($category_id_array); $i++) { if(is_numeric($category_id_array[$i])) { if(cat_is_ancestor_of( $category_id_array[$i], $cat)) { $wp_list_categories = str_replace($category_id_array[$i], $category_id_array[$i] . ' current-cat-ancestor', $wp_list_categories); } } } return $wp_list_categories; }
2010-05-17 @ 1:50 f m
hi – where do you put this script? what file? thx
2010-05-17 @ 4:05 e m
functions.php is the best place to put it, in your theme folder.
2010-05-17 @ 3:06 f m
Jens – thanks for this post! saved me some time.
the only note is that your less than and angle brackets are escaped in the code above.
eg: $i<sizeof($cat_id_cut1)
2010-05-17 @ 3:07 f m
ok – hilarious — i should have escaped the escaped code example, but you get my point.
2010-06-01 @ 7:50 e m
maybe you can help with this: how do I get a parent-cat class added in to all categories that have children in the normal wp_list_categories. This above code works well when on a child page, but can you help with how to simply add the parent-cat class? Trying to do it as a filter but have VERY limited php knowledge. Thanks!
2010-07-01 @ 4:03 e m
I put the code in my functions.php file, then got this error: syntax error, unexpected ‘;’, expecting ‘)’
The error is in the line Phil is referring to above.
I changed the ”less than” HTML entity to ”<", and the error went away, but the function did nothing.
Any suggestions?
Thanks in advance for any help. This is an essential function!
2010-10-24 @ 1:40 e m
Can modify with css tab navi manu?
2012-01-04 @ 12:54 f m
much thanks for sharing this code, worked great with a 3.3.1 install i’m working on.