As far as I can see, all the BBP pages are output from the template page.php in your main WP theme. I assume there is some kind of template hierarchy we can use to override this (so we can have a specific template for ‘profile’ or ‘single topic’ etc).
I agree it is all pretty confusing to me too
About that template hierarchy – my best guess was to use the same filenames as used in the sample BBP theme bbp-twentyten, but put this template in the main (active) WP theme folder. So for example, I tried making a file called single-forum.php there.
However, that doesn’t seem to work for me – the markup still seems to be driven from page.php.
Anyone know how to get different layouts for different pages in BBP?
Time to dig in the code and look around. The /bbp-includes/bbp-template* files are a good place to start.
bbPress’s template logic works almost identically to the way WordPress’s works, it just needs to do all the same things that WordPress does for specialized content. Just like WordPress has queries and conditions for posts, pages, categories, and tags, bbPress has them for forums, topics, replies, users, topic views, and front end posting and editing.
In many ways, bbPress feels more complex because it is more complex. But, I can assure you, it’s built to the same standard and uses the same conventions as WordPress does.
OK I think I see what you’re saying. So WP would continue to use the page.php template to render BBP pages like forums and topics, but we can branch the logic in that page using the BBP template tags.
Just tried this and it works.
In case it helps anyone else, the way to remove the sidebar from BBP topic pages would be using something like this in your page.php file:
<?php if(!bbp_is_single_topic()) { get_sidebar(); }; ?>
I’m trying to get this up and running on my site, but the user profile page isn’t showing up, despite moving all the templates to themes/[theme-name]/bbpress’….. Any suggestions?