Forum Replies Created
-
I’ve seen numerous threads on this very subject for the last few years and JJJ has been posting the same response every time. It more or less says “This is the way it is. If you don’t like it, come up with your own solution.”
I understand his reasoning for saying that’s just the way it is, but IMO, I wouldn’t have released this product with the URLs in this format. How can a topic be considered part of a forum, yet the URL not represent that?
This is the logical structure. (assuming everything exists in a forums subdirectory):
Viewing a Single Forum:
domain.com/forums/forum-name/
Viewing a Thread (or topic):
domain.com/forums/forum-name/thread-name
With comments being this or something similar:
domain.com/forums/forum-name/thread-name#comment-35
.
This is what we actually get.
Viewing a Single Forum:
domain.com/forums/forum/forum-name
Then click on a Single Thread:
domain.com/forums/topic/thread-name
You lose all acknowledgement that you were in a particular forum. It’s like the threads are just floating about aimlessly…not attached to anything in particular.
If BBPress operated like WordPress, Let’s say that “Forums” are “Categories” and “Topics” are “Posts”. Well, with WordPress, you can set your permalinks to read:
domain.com/category-name/post-name/
So why not be able to do that with BBPress? The problem is that in order to get all of the various settings applied to both Forums and Topics, they have both been created as separate Custom Post Types. The individual Posts in Topics simply have a custom field that ties them to a specific Forum.
Now, I haven’t tested this at all, but in theory it may be possible to tap into some WordPress action and filter hooks and create our own rewrite rules to fix what I see as the biggest flaw with BBPress. I found a thread on another site recently where the user used a custom field value to generate the permalink for a custom post type. That seems to me would be exactly what we need to do here. If I can get some free time, I’ll see if I can get it working and maybe build a plugin to handle it.