Skip to:
Content

Changeset 6439


Ignore:
Timestamp:
10/22/12 07:08:52 (18 months 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.