@LifeFreeOrDie, I can’t answer your question completely but maybe I can give you a little help.
You can order your forums by defining the Order in the respective Forum’s admin page. Counting starts at 0, which is the default.
Creating sub-forms is simply a matter of creating a parent forum and then for each child (sub-) forum make that parent forum the Parent in Forum Attributes. (Parents that are defined as type Forums can contain their own topics but parents that are Categories only contain other forums.)
Unfortunately, in the forums index sub-forums are necessarily presented with their topic and reply counts in parenthesis as defined in bbp_list_forums()
in loop-single-forum.php. What’s worse: there is no containing element around the count so it’s not possible to style those separately from the sub-form name. [@johnjamesjacoby or other admin: Can this be updated outside of core code?]
However, you can style the sub-forums with CSS as they are listed as a
.
One cool option I forgot to mention earlier…
If it’s important for you to have the topics of each forum listed on your forum index page you can call them individually by using a shortcode for a particular parent forum (in this case, using WP’s do_shortcode
):
<?php echo do_shortcode('[bbp-single-forum id=1234]') ?>
where 1234 is the ID number of the parent forum. I’ve experimented with this for a *Category* type parent forum and it works well. I imagine it would do the same thing for a *Forum* type parent forum. You’d obviously want to lead it with a header title for the parent forum.
Call each parent forum this way and you’ve got a nicely organized index page. (NOTE: you can call individual (non-parent) forums this way too but by default they call the entire single forum template part that includes the form. If you’re interested in messing with this it’s handled in [your bbPress directory]/bbpress/content-single-forum.php.)
The disadvantage is that it’s built manually for each parent so any new parent forums will have to added manually as well, but you do have a lot of control.