BP_Theme_Compat
Theme Compatibility base class.
Description
This is only intended to be extended, and is included here as a basic guide for future Theme Packs to use. BP_Legacy is a good example of extending this class.
Parameters
- $properties
-
(Required) An array of properties describing the theme compat package.
- 'id'
(string) ID of the package. Must be unique. - 'name'
(string) Name of the theme. This should match the name given in style.css. - 'version'
(string) Theme version. Used for busting script and style browser caches. - 'dir'
(string) Filesystem path of the theme. - 'url'
(string) Base URL of the theme.
- 'id'
Source
File: bp-core/classes/class-bp-theme-compat.php
class BP_Theme_Compat { /** * Template package properties, as passed to the constructor. * * @since BuddyPress 1.7.0 * @var array */ protected $_data = array(); /** * Pass the $properties to the object on creation. * * @since BuddyPress 1.7.0 * * @param array $properties Array of properties for BP_Theme_Compat. */ public function __construct( Array $properties = array() ) { $this->_data = $properties; } /** * Set up the BuddyPress-specific theme compat methods. * * Themes should use this method in their constructor. * * @since BuddyPress 1.7.0 */ protected function start() { // Sanity check. if ( ! bp_use_theme_compat_with_current_theme() ) { return; } // Setup methods. $this->setup_globals(); $this->setup_actions(); } /** * Set up global data for your template package. * * Meant to be overridden in your class. See * {@link BP_Legacy::setup_globals()} for an example. * * @since BuddyPress 1.7.0 */ protected function setup_globals() {} /** * Set up theme hooks for your template package. * * Meant to be overridden in your class. See * {@link BP_Legacy::setup_actions()} for an example. * * @since BuddyPress 1.7.0 */ protected function setup_actions() {} /** * Set a theme's property. * * @since BuddyPress 1.7.0 * * @param string $property Property name. * @param mixed $value Property value. * @return bool True on success, false on failure. */ public function __set( $property, $value ) { return $this->_data[$property] = $value; } /** * Get a theme's property. * * @since BuddyPress 1.7.0 * * @param string $property Property name. * @return mixed The value of the property if it exists, otherwise an * empty string. */ public function __get( $property ) { return array_key_exists( $property, $this->_data ) ? $this->_data[$property] : ''; } }
Changelog
Version | Description |
---|---|
BuddyPress 1.7.0 | Introduced. |
Methods
- __construct — Pass the $properties to the object on creation.
- __get — Get a theme's property.
- __set — Set a theme's property.
- setup_actions — Set up theme hooks for your template package.
- setup_globals — Set up global data for your template package.
- start — Set up the BuddyPress-specific theme compat methods.
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.