function wds_clp_register_feature() { bp_set_theme_compat_feature('templates', array('name' => 'cover_image', 'settings' => array('components' => array('xprofile', 'groups'), 'width' => 940, 'height' => 225, 'callback' => 'clp_cover_image', 'theme_handle' => 'bp-legacy-css'))); }
/** * Setup the theme's features * * Note: BP Legacy's buddypress-functions.php is not loaded in WP Administration * as it's loaded using bp_locate_template(). That's why this function is here. * * @since 2.4.0 * * @global $content_width the content width of the theme */ function bp_register_theme_compat_default_features() { global $content_width; // Do not set up default features on deactivation if (bp_is_deactivation()) { return; } // If the current theme doesn't need theme compat, bail at this point. if (!bp_use_theme_compat_with_current_theme()) { return; } // Make sure BP Legacy is the Theme Compat in use. if ('legacy' !== bp_get_theme_compat_id()) { return; } // Get the theme $current_theme = wp_get_theme(); $theme_handle = $current_theme->get_stylesheet(); $parent = $current_theme->parent(); if ($parent) { $theme_handle = $parent->get_stylesheet(); } /** * Since Companion stylesheets, the $content_width is smaller * than the width used by BuddyPress, so we need to manually set the * content width for the concerned themes. * * array( stylesheet => content width used by BuddyPress ) */ $bp_content_widths = array('twentyfifteen' => 1300, 'twentyfourteen' => 955, 'twentythirteen' => 890); // Default values $bp_content_width = (int) $content_width; $bp_handle = 'bp-legacy-css'; // Specific to themes having companion stylesheets if (isset($bp_content_widths[$theme_handle])) { $bp_content_width = $bp_content_widths[$theme_handle]; $bp_handle = 'bp-' . $theme_handle; } if (is_rtl()) { $bp_handle .= '-rtl'; } $top_offset = 150; $avatar_height = apply_filters('bp_core_avatar_full_height', $top_offset); if ($avatar_height > $top_offset) { $top_offset = $avatar_height; } bp_set_theme_compat_feature('legacy', array('name' => 'cover_image', 'settings' => array('components' => array('xprofile', 'groups'), 'width' => $bp_content_width, 'height' => $top_offset + round($avatar_height / 2), 'callback' => 'bp_legacy_theme_cover_image', 'theme_handle' => $bp_handle))); }
function cover_image() { if (function_exists('bp_set_theme_compat_feature')) { bp_set_theme_compat_feature('legacy', array('name' => 'cover_image', 'settings' => array('components' => array('xprofile', 'groups'), 'width' => 1300, 'height' => 500, 'callback' => array($this, 'record_cover_image'), 'theme_handle' => 'bp-default-main'))); } }