bp_get_template_stack()
Get the “template stack”, a list of registered directories where templates can be found.
Description Description
Calls the functions added to the ‘bp_template_stack’ filter hook, and return an array of the template locations.
See also See also
Return Return
(array) The filtered value after all hooked functions are applied to it.
Source Source
File: bp-core/bp-core-template-loader.php
function bp_get_template_stack() { global $wp_filter, $merged_filters, $wp_current_filter; // Setup some default variables. $tag = 'bp_template_stack'; $args = $stack = array(); // Add 'bp_template_stack' to the current filter array. $wp_current_filter[] = $tag; // Sort. if ( class_exists( 'WP_Hook' ) ) { $filter = $wp_filter[ $tag ]->callbacks; } else { $filter = &$wp_filter[ $tag ]; if ( ! isset( $merged_filters[ $tag ] ) ) { ksort( $filter ); $merged_filters[ $tag ] = true; } } // Ensure we're always at the beginning of the filter array. reset( $filter ); // Loop through 'bp_template_stack' filters, and call callback functions. do { foreach( (array) current( $filter ) as $the_ ) { if ( ! is_null( $the_['function'] ) ) { $args[1] = $stack; $stack[] = call_user_func_array( $the_['function'], array_slice( $args, 1, (int) $the_['accepted_args'] ) ); } } } while ( next( $filter ) !== false ); // Remove 'bp_template_stack' from the current filter array. array_pop( $wp_current_filter ); // Remove empties and duplicates. $stack = array_unique( array_filter( $stack ) ); /** * Filters the "template stack" list of registered directories where templates can be found. * * @since 1.7.0 * * @param array $stack Array of registered directories for template locations. */ return (array) apply_filters( 'bp_get_template_stack', $stack ) ; }
Changelog Changelog
Version | Description |
---|---|
1.7.0 | Introduced. |