bbpress plugin – templates in bbpress folder
-
I don’t want to hijack the thread where JJJ and I were talking about the template locations filling up my theme root, so here is a new post.
I was playing around with an idea, and before I go to far with it, I was curious what you think.
You had mentioned that this type of system was expressly forbidden by wp, due to having to search all folders for files before proceeding. That would be a nightmare, but here I am defining the folders up front, so it ‘should’ be just as fast, though I am unsure of how to bench test it.
If we could get a system in place like this, then it would clean up the theme area considerably.
I am using the same logic on a number of client sites and it works perfectly, though they are not using bbpress or buddypress. I simply use it for my own custom post-types.
example:
public function template_include( $template ) {
if ( get_query_var('post_type') == $this->post_type ) {
if ( is_single() ) {
if ( $single = locate_template( array( $this->post_type.'/single.php') ) )
return $single;
}
if ( is_paged() ) {
if ($paged = locate_template( array( $this->post_type.'/archive.php') ) )
return $paged;
}
else { // loop
return locate_template( array(
$this->post_type . '/index.php',
$this->post_type . '.php',
'index.php'
));
}
}
return $template;
}This would completely change the structure of bbpress template names, but could potentially allow me to store everything inside 3 folders ‘forums/topics/replies’.
I’m sure there would be much more to it than that….
What do you think of this type of approach?
*right now it is quite generic and would effect all custom post_types, which would not be good. Changing to be bbpress specific would prob just be a matter of defining types in the array vs. all
I’m really asking because even though I know I could get this to work, I am quite curious how this would end up effecting buddypress when combined with bbpress.
Would a system like this be a deal breaker?
Good idea or bad?
- You must be logged in to reply to this topic.