Today I ran into an interesting problem while developing a BuddyPress theme. I was attempting to include a custom sidebar using PHP’s “include” function. The WordPress codex page on “include tags” gives us this:
<?php include( TEMPLATEPATH . ‘/sidebar-index.php’ ); ?>
The problem is that the above code doesn’t always work when you are utilizing a child theme (I am building a child theme based on the default BuddyPress theme). Rather, you should use the “locate_template” hook:
<?php locate_template( array( ‘sidebar-index.php’ ), true ) ?>
What the “locate_template” hook does is searches the child theme’s template folder before searching the parent theme’s template folder.
Pretty nifty, eh?