Skip to:
Content
Pages
Categories
Search
Top
Bottom

BuddyPress Kills WordPress Themes

  • Avatar of gwsa
    gwsa
    Participant

    @gwsa

    Upgraded to BuddyPress 1.0.1 with WordPressMU 2.7.1. BuddyPress rewrites the theme_root to /bp-themes/ on /wpmu-themes.php and on /themes.php, denying both users and administrators the ability to activate standard WordPress themes that live in /wp-content/themes.

    Simply put, if BuddyPress is activated, all blogs on the server crash because they can’t find their themes.

    Everything was working fine prior to upgrade. Only active plugin is BuddyPress.

Viewing 13 replies - 1 through 13 (of 13 total)
  • That’s odd. Have you tried upgrading manually?

    Avatar of Burt Adsit
    Burt Adsit
    Participant

    @burtadsit

    Well, that is partially true. bp hijacks the theme root and alters it to point to /bp-themes when it detects an url that belongs to the member theme. Those urls are things that are of the form mysite.org/members, mysite.org/groups …

    By default it only does this for the root blog of the installation. Blog id 1.

    You upgraded from what ver of bp and what ver of wpmu? wpmu now will not allow theme directory names that have a dash in them. So the non-2.7.1 theme /themes/my-theme doesn’t work anymore. It has to be /themes/mytheme

    Same goes for the themes that live in /bp-themes. Did you upgrade your bp member theme and the bp home theme also?

    You didn’t leave a link to your site or specify what versions of bp and wpmu you used to be running so I’m just shooting in the dark here.

    Avatar of gwsa
    gwsa
    Participant

    @gwsa

    Burt & Mike -

    Thanks for the prompt reply. Tried upgrading both manually and with the built-in plugin install function. Also tried clearing out the BP tables from the database (the site has not launched yet) hoping that would kick things into shape.

    2.7.1 was the first and only version of WPMU installed, upgraded BP from 1.0 to 1.0.1 and that’s when the themes died. Also, no hyphens in the themes’ directories.

    Went through the code and was able to see what you were talking about in terms of setting the theme_root variable to /bp-themes/, but any idea why it would be doing so outside of member pages?

    If the plugin is active, if I go to /wpmu-themes.php or /wpmu-blogs.php? in the WPMU backend, to activate themes all I see are the BP themes. Correct me if I’m wrong, but before it would also show me themes in the /themes/ directory as well. Is this an intended function? I’d prefer not to move my non BP themes into the bp-themes/ as disabling BP would then kill the site.

    Any help you could provide would be greatly appreciated.

    - Ben

    (ben at gwstudentassociation dot com)

    Avatar of Andy Peatling
    Andy Peatling
    Keymaster

    @apeatling

    I’ve closed the ticket for this, I’ve not heard of anyone with the same problem. If anyone else can confirm this problem on their setup I will take a look at it.

    Avatar of Burt Adsit
    Burt Adsit
    Participant

    @burtadsit

    This hasn’t been reported by others. There have been a couple of ‘The bp themes are missing and it’s showing /themes in the bp backend instead of /bp-themes.’

    Reinstall of wpmu/bp seems to solve the issue. Haven’t been able to track it down.

    Avatar of gwsa
    gwsa
    Participant

    @gwsa

    Per Burt, tried reinstalling both WPMU and BP. No luck.

    Everything is great, I activate BP, and then I don’t have access to my WP themes, anywhere.

    I guess as Andy pointed out, its not a universal bug, and as a result have been trying to track down the filter that replaces the theme_root, at the very least to make an ugly hack to keep things running. Any suggestions in that dept.?

    Avatar of dawnsinger
    dawnsinger
    Participant

    @dawnsinger

    Andy — I’m probably just missing it in the documentation somewhere, but my user-created blogs are showing up as default WordPress themes. How/where do I set a universal member BLOG theme?

    Thanks,

    J

    Avatar of Burt Adsit
    Burt Adsit
    Participant

    @burtadsit

    gwsa, you don’t have access to the wp themes? Site Admin > Themes > Activate some on that list. Then Appearance > Themes > All those you activated should be available for selection.

    dawnsinger, the universal blog theme is the theme that lives in /wp-content/themes/default. All blog themes are wordpress themes.

    http://wpmututorials.com/category/basics/

    Avatar of gwsa
    gwsa
    Participant

    @gwsa

    Burt,

    With BP Deactivated:

    Site Admin -> Themes, 7 Installed, 4 Active (all WP Themes)

    Appearance -> Themes, 4 to choose from

    As soon as I activate BP:

    Site Admin -> Themes, 3 Installed, 0 active (all BP Themes)

    Appearance -> Themes, ZERO to choose from

    Avatar of gwsa
    gwsa
    Participant

    @gwsa

    Also tried upping to 1.0.2. No fix.

    Avatar of Andy Peatling
    Andy Peatling
    Keymaster

    @apeatling

    gwsa – because this is not a BuddyPress bug. It’s something to do with your setup, hence the reason no one else has had the problem.

    Are you sure you don’t have any crazy re-write rules or symlinks for your themes folder?

    Avatar of wpmubp.org
    wpmubp
    Participant

    @takuya

    @gwsa

    where do you host your site? Just in case other bp users face the same nightmare when choosing the host…

    I’ve never seen this problem, my install just works properly. Make sure you disable all other plugins but bp when solving this problem.

    Avatar of gwsa
    gwsa
    Participant

    @gwsa

    Turns out it might be a bug after all, or at the very least an incompatibility.

    If a plugin calls ‘get_template_directory()’ on any page other than the blog (ie if it runs on the admin panel) BuddyPress intercepts the call and rewrites the theme directory thus killing all your themes.

    Thanks for all your help.

    (I had Maintenance Mode on, which I activated when I upgraded.)

Viewing 13 replies - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.