Skip to:
Content

BuddyPress.org

Changeset 6439


Ignore:
Timestamp:
10/22/2012 07:08:52 AM (14 years ago)
Author:
johnjamesjacoby
Message:

Theme Compat:

  • Move 'bp_add_template_locations' filter from 'bp_get_template_part' to 'bp_locate_template'
  • Allows for easier template location across multiple theme configurations.
  • Revert part of r6394 in lieu of this method.
  • See #3741
Location:
trunk/bp-core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-core/bp-core-filters.php

    r6434 r6439  
    6363
    6464// Run all template parts through additional template locations
    65 add_filter( 'bp_get_template_part', 'bp_add_template_locations' );
     65add_filter( 'bp_locate_template', 'bp_add_template_locations' );
    6666
    6767// Turn comments off for BuddyPress pages
     
    239239        return str_replace( 'PASSWORD', __( '[User Set]', 'buddypress' ), $welcome_email );
    240240}
    241 if ( !is_admin() && empty( $_GET['e'] ) )
    242         add_filter( 'update_welcome_user_email', 'bp_core_filter_user_welcome_email' );
     241add_filter( 'update_welcome_user_email', 'bp_core_filter_user_welcome_email' );
    243242
    244243/***
     
    264263        return str_replace( $password, __( '[User Set]', 'buddypress' ), $welcome_email );
    265264}
    266 if ( !is_admin() && empty( $_GET['e'] ) )
    267         add_filter( 'update_welcome_email', 'bp_core_filter_blog_welcome_email', 10, 4 );
     265add_filter( 'update_welcome_email', 'bp_core_filter_blog_welcome_email', 10, 4 );
    268266
    269267// Notify user of signup success.
     
    296294        return false;
    297295}
    298 if ( !is_admin() )
    299         add_filter( 'wpmu_signup_blog_notification', 'bp_core_activation_signup_blog_notification', 1, 7 );
     296add_filter( 'wpmu_signup_blog_notification', 'bp_core_activation_signup_blog_notification', 1, 7 );
    300297
    301298function bp_core_activation_signup_user_notification( $user, $user_email, $key, $meta ) {
     
    308305                $admin_email = 'support@' . $_SERVER['SERVER_NAME'];
    309306
    310         // If this is an admin generated activation, add a param to email the
    311         // user login details
    312         $email = is_admin() ? '&e=1' : '';
    313 
    314307        $from_name       = ( '' == get_site_option( 'site_name' ) ) ? 'WordPress' : esc_html( get_site_option( 'site_name' ) );
    315308        $message_headers = "MIME-Version: 1.0\n" . "From: \"{$from_name}\" <{$admin_email}>\n" . "Content-Type: text/plain; charset=\"" . get_option( 'blog_charset' ) . "\"\n";
    316         $message         = sprintf( __( "Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress' ), $activate_url . $email );
     309        $message         = sprintf( __( "Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress' ), $activate_url );
    317310        $subject         = '[' . $from_name . '] ' . __( 'Activate Your Account', 'buddypress' );
    318311
     
    329322        return false;
    330323}
    331 if ( !is_admin() || ( is_admin() && empty( $_POST['noconfirmation'] ) ) )
    332         add_filter( 'wpmu_signup_user_notification', 'bp_core_activation_signup_user_notification', 1, 4 );
     324add_filter( 'wpmu_signup_user_notification', 'bp_core_activation_signup_user_notification', 1, 4 );
    333325
    334326/**
  • trunk/bp-core/bp-core-template-loader.php

    r6394 r6439  
    6767        $fallback_theme = bp_get_theme_compat_dir();
    6868
     69        // Allow templates to be filtered
     70        // BuddyPress core automatically adds bp_add_template_locations()
     71        $template_names = apply_filters( 'bp_locate_template', $template_names );
     72
    6973        // Try to find a template file
    7074        foreach ( (array) $template_names as $template_name ) {
     
    8892
    8993                // Check theme compatibility last
    90                 } else {
    91                         // 3rd-party plugin devs can hook into the 'bp_locate_fallback_template'
    92                         // filter to load custom templates for their component if desired
    93                         $fallback_template = apply_filters( 'bp_locate_fallback_template', trailingslashit( $fallback_theme ) . $template_name, $template_name );
    94 
    95                         if ( file_exists( $fallback_template ) ) {
    96                                 $located = $fallback_template;
    97                                 break;
    98                         }
     94                } elseif ( file_exists( trailingslashit( $fallback_theme ) . $template_name ) ) {
     95                        $located = trailingslashit( $fallback_theme ) . $template_name;
     96                        break;
    9997                }
    10098        }
     
    204202
    205203        // Loop through locations and templates and combine
    206         foreach ( $locations as $location )
    207                 foreach ( $templates as $template )
    208                         $retval[] = trailingslashit( $location ) . $template;
     204        foreach ( (array) $locations as $location )
     205                foreach ( (array) $templates as $template )
     206                        $retval[] = ltrim( trailingslashit( $location ) . $template, '/' );
    209207
    210208        return apply_filters( 'bp_add_template_locations', $retval, $templates );
Note: See TracChangeset for help on using the changeset viewer.