My organization’s logo is not showing in the Buddyboss Theme. How can I fix this?

Estimated reading: 3 minutes 235 views

The Buddyboss theme tries to influence the logo used in your site and is therefore trying to do the same thing as the Organization Toolkit. Themes always tend to win over plugins in circumstances like this, but there are a few changes that can be made to make sure your theme shows the organisation logo.

To make this work, you will need to have a Buddyboss child theme in place. If you don’t already have one of these please visit this page for more information about child themes.

Once you have a child theme in place, please complete the following steps:

1. If you haven’t got one already, create a folder inside your child theme called ‘template-parts’.

2. Copy the file site-logo.php from the ‘template-parts’ folder in the Buddyboss theme into the ‘template-parts’ folder of your child theme.

Edit the line after the following line that looks like:

3. Edit the file you have copied over and after the line that looks like:

 

				
					$logo_dark_id = buddyboss_theme_get_option( 'logo_dark', 'id' );

				
			

and before the line that looks like:

				
					$logo  = ( $show && $logo_id ) ? wp_get_attachment_image( $logo_id, 'full', '', array( 'class' => 'bb-logo' ) ) : get_bloginfo( 'name' );

				
			

You can add the following code, which calls a function from the Organization Toolkit and overrides the Buddyboss defined logo if necessary:

				
					if (class_exists('B2BDash_Public')) {

    $b2bdash = new B2BDash_Public(1, 1);
    if (!empty($b2bdash->b2bdash_custom_logo())) {

        $logo_id = $b2bdash->b2bdash_custom_logo();
        $logo_dark_id = $b2bdash->b2bdash_custom_logo();

    }

}				
			

This will replace the logo on your site’s general theme. 

BuddyBoss also has the option to specify a “Mobile Logo”, for display on smartphones. If you have this enabled, continue with the steps below. If you do not have this enabled, skip to step 6.

4. Copy the file header-mobile.php from the ‘template-parts’ folder in the Buddyboss theme into the ‘template-parts’ folder of your child theme.

5. Repeat step 3, this time editing header-mobile.php instead of site-logo.php

6. To replace it on the LearnDash Focus Mode theme you need to add the following function to your child theme’s functions.php file:

 

				
					function buddyboss_is_learndash_brand_logo()
{

    global $post;

    if (class_exists('B2BDash_Public')) {

        $b2bdash = new B2BDash_Public(1, 1);

        if (!empty($b2bdash->b2bdash_custom_logo())) {

            return $b2bdash->b2bdash_custom_logo();

        }

    }

    if (class_exists('SFWD_LMS')) {
        $logo = LearnDash_Settings_Section::get_section_setting('LearnDash_Settings_Theme_LD30', 'login_logo');

        if (!empty($logo)) {

            return $logo;

        } else {

            return;

        }
    }

}				
			

This ‘buddyboss_is_learndash_brand_logo’ function exists within the Buddyboss theme, but we are defining a customised version of it to your child theme first before Buddyboss gets a chance to define it. Within the Buddyboss theme, the function is wrapped within a ! function_exists(), so there shouldn’t be any conflict issues here and your child theme function should take precedence.

Once both of these are in place, you should find that users from specific organisations see the relevant logo.

Leave a Comment

Share this Doc

My organization’s logo is not showing in the Buddyboss Theme. How can I fix this?

Or copy link

CONTENTS