Skip to:
Content

BuddyPress.org

Ticket #4639: 4639-ray.01.patch

File 4639-ray.01.patch, 1.6 KB (added by r-a-y, 8 years ago)
  • bp-members/bp-members-screens.php

    class BP_Members_Theme_Compat { 
    279279         */
    280280        public function __construct() {
    281281                add_action( 'bp_setup_theme_compat', array( $this, 'is_members' ) );
     282                add_filter( 'bp_get_root_template',  array( $this, 'template_hierarchy' ), 10, 2 );
    282283        }
    283284
    284285        /**
    class BP_Members_Theme_Compat { 
    314315                }
    315316        }
    316317
     318        /**
     319         * Add custom template hierarchy to theme compat for member pages.
     320         *
     321         * This is to mirror how WordPress has {@link https://codex.wordpress.org/Template_Hierarchy template hierarchy}.
     322         *
     323         * @since BuddyPress (1.7)
     324         *
     325         * @param string $template The template theme compat should look for before falling back to the default.
     326         * @param string $page_template The page template used to inject BP content into.
     327         * @uses bp_get_query_template() Retrieve paths to a template.
     328         * @return mixed $templates Array of custom templates to look for. Boolean false if not a member page.
     329         */
     330        function template_hierarchy( $template, $page_template ) {
     331                if ( bp_is_user() ) {
     332                        $nicename  = bp_get_displayed_user_username();
     333                        $user_id   = bp_displayed_user_id();
     334
     335                        $templates = array(
     336                                'members/single/home-' . $nicename . '.php', // Single User nicename
     337                                'members/single/home-' . $user_id  . '.php', // Single User ID
     338                        );
     339
     340                        return bp_get_query_template( 'user', $templates );
     341
     342                }
     343
     344                return $template;
     345        }
     346
    317347        /** Directory *************************************************************/
    318348
    319349        /**