Skip to:
Content

BuddyPress.org

Changeset 11936


Ignore:
Timestamp:
04/02/2018 10:13:58 PM (7 years ago)
Author:
djpaul
Message:

Core: allow theme to override site's template pack choice.

As part of the work for Nouveau, we need a way to let a theme override the site template pack setting.
e.g. new themes could force the "nouveau" template pack.

The syntax is buddypress-use-foobar, where "foobar" is the slug name of the template pack.
e.g. buddypress-use-legacy, buddypress-use-nouveau.

Fixes #7730

Location:
trunk/src/bp-core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-core/bp-core-actions.php

    r11884 r11936  
    114114 * Add the BuddyPress functions file and the Theme Compat Default features.
    115115 */
    116 add_action( 'bp_after_setup_theme', 'bp_load_theme_functions',                    1 );
    117 add_action( 'bp_after_setup_theme', 'bp_register_theme_compat_default_features', 10 );
     116add_action( 'bp_after_setup_theme', 'bp_check_theme_template_pack_dependency',   -10 );
     117add_action( 'bp_after_setup_theme', 'bp_load_theme_functions',                    1  );
     118add_action( 'bp_after_setup_theme', 'bp_register_theme_compat_default_features',  10 );
    118119
    119120// Load the admin.
  • trunk/src/bp-core/bp-core-theme-compatibility.php

    r11841 r11936  
    988988}
    989989add_action( 'loop_end', 'bp_theme_compat_loop_end' );
     990
     991/**
     992 * Maybe override the preferred template pack if the theme declares a dependency.
     993 *
     994 * @since 3.0.0
     995 */
     996function bp_check_theme_template_pack_dependency() {
     997    $all_packages = array_keys( buddypress()->theme_compat->packages );
     998
     999    foreach ( $all_packages as $package ) {
     1000        // e.g. "buddypress-use-nouveau", "buddypress-use-legacy".
     1001        if ( ! current_theme_supports( "buddypress-use-{$package}" ) ) {
     1002            continue;
     1003        }
     1004
     1005        bp_setup_theme_compat( $package );
     1006        return;
     1007    }
     1008}
Note: See TracChangeset for help on using the changeset viewer.