Modifying Buddypress 1.7 Beta
I am currently developing a new site within the next week, which will use a WordPress theme (not buddypress compatible) plus a Buddypress integration. The question is how I should go about developing it, since Buddypress 1.7 is coming out soon. Could I install the Buddypress 1.7 beta, make some style/functional modifications to it, and then update to the official release once it’s out? Or will I lose all of my work?
What’s the best approach to take for starting a new buddypress site right now?
You won’t lose your work but always backup before major updates just in case…
I have seen a couple of the experienced users/developers suggest that if you are making a new site now you should do so with 1.7 beta.
From what I can tell there have not been any terribly serious bugs found since the beta release.
I am running it on a test site right now and have not come across a single problem.
As long as you make a child theme of the theme you are using with BP 1.7 beta 1 then the style.css and functions.php should still be fine when 1.7 is out. Since 1.7 has the compatibility layer building a child theme for a regular wordpress theme is all you need to do but if your going to modify any of the buddypress templates you will need to copy over
yoursite/wp-content/plugins/buddypress/bp-templates/bp-legacy/buddypress into the root of your child themes folder.
You no longer need child themes. Please read this: http://codex.buddypress.org/theme-compatibility/
As long as you include the template files in your active theme you can update the BuddyPress plugin and preserve changes.
@modemlooper But what if you have a wordpress theme like The Responsive Theme for instance and you want to make drastic changes to it. Wouldn’t it still be a better idea to make child theme? When I say child theme I mean just basically making a child theme for a wordpress theme not a buddypress theme.
sure, if you want to make a child of your theme but it’s not required
@modemlooper its not required for the buddypress side of things but it is for the wordpress theme updates side of things unless you wanna loose the changes you may have made to the header.php, footer.php, functions.php, style.css etc.
Actually what I meant to say is that a child theme is not required but if your modifying your theme files whether it be the “Responsive WordPress Theme” or some other wordpress theme to work with buddypress then my instructions are correct. @modemlooper your great but it is still best for people to make child themes even with BP 1.7 beta 1. Reason being for example is when they update their particular theme from wordpress or they made a lot of changes in the child themes style.css, header.php, or footer.php etc. In any other instance then I am correct. my case it was a plain Jaine wordpress responsive child theme and it work perfectly! We can’t discount the value of a child theme for update reasons so we need to get clear on this! Maybe I suppose with the compatibility layer it is now a wordpress.org issue but people do need to be aware of it when installing buddypress because its a little different now but its not rocket science either!
I’m using 1.7 beta 2 and the client wants to make some changes to the profile page. I’m using a child theme of Evolution (Elegant Themes). I can see that style.css in the child folder will affect the Buddypress styling but I’m going to need more customization.
Aside from the actual template file that I’m tweaking, what else needs to be in the child folder?
For example, if I copy /wp-content/plugins/buddypress/bp-themes/bp-default/registration/ folder into the child theme – it’s not formatted the same as the original. I’m not sure whether this register.php is the same one being used from the main buddypress plugin folder or whether there are some files missing from that I should place in the child theme?
I see that @bphelp suggests copying the contents of /wp-content/plugins/buddypress/bp-templates/bp-legacy/buddypress into the child theme root. Not sure whether the registration page would be affected by this.
Is there child theme docs specific to 1.7 – I know there are big changes from 1.6 to 1.7 as far as theme compatibility is concerned and most of the info on Google is probably out of date.
@modemlooper @pdillon809 . If you wanna make changes to the theme your using you need to still employ child themes. @modemlooper I know your a smart guy but how wise is it to tell folks to stray from child themes when the whole basis of modification without modification to the original source code is jeopardized by your statement? Rarely should there ever be an instance where one should modify source code so anytime one decides changes then child themes still is relevant. Not to be mean but I think there was some miscommunication here!
Copying those template files will result in no changes unless you edit those files. You will need to edit the files you copied to your child theme to see any results!
Any template file you choose to tweak needs to be included in your child theme within its directory structure intact. I hope this makes sense to you!
I agree with @bphelp – child themes are the best option. I’ve been using child themes to make changes to main themes but I’m not yet able to understand how to achieve this with BuddyPress. I have read @hnla ‘s document but the instructions are not clear (at least to me).
I think the issue is lack of a header file but that’s not mentioned in the guide. The pages load but without ANY styles. The registration page has a header but not activity. Activity page begins with div id=”buddypress” and has no footer either. I’m sure this is easy to fix but I want to use the recommended method.
Is there a document that clearly states the files required in the child theme? I have copied ALL the files from the legacy folder but @hnla ‘s document appears to state that only the files that require editing need copying (so long as the directory structure is maintained)
Sorry for not “getting” this – I’ve tried doing the research but it’s never clear whether the instructions relate to 1.7 or the “quite” different previous versions.
A list of the contents of the child-theme folder are listed below:
activity (taken from ../bp-templates/bp-legacy/buddypress/)
blogs (taken from ../bp-templates/bp-legacy/buddypress/)
css (taken from ../bp-templates/bp-legacy)
forums (taken from ../bp-templates/bp-legacy/buddypress/)
functions.php (contains a couple of functions – created by me and not bp related)
groups (taken from ../bp-templates/bp-legacy/buddypress/)
members (taken from ../bp-templates/bp-legacy/buddypress/)
registration (taken from ../bp-themes/bp-default)
rtl.css (empty of rules)
shortcodes_bp.php (couple of shortcodes – created by me and not bp related)
style.css (child theme required file)
Couldn’t write that page much plainer really, it was intended as a simple primer.
No files are required in the child theme if you are letting bp theme compatibility handle the BP template process, if you wanted to edit just one you would copy it to /buddypress/ preserving the structure that’s seen in the legacy templates folder if you wanted to edit the styles that can be done by copying the styles to /css/ in your theme.
You sound as though you have a mixed bag of theme compatibility and full template file overrides going on or template pack still at work, something confused somewhere.
@pdillon809 those files should be placed in a folder named buddypress inside your child theme and remember to keep the directory and sub-directories structures intact. Those files should not be placed at the root of your child theme.
Thanks for the support guys. The directory structure advice worked. Note: The BP template files are still picked up if you put them in the root of the child theme – think that’s what threw me. Perhaps that could be changed at some point.
@hnla your page is fine. For complete noobs (like me) see instructions below:
Make all changes in style.css in child theme. This overrides both the main theme and BuddyPress CSS styles.
Create a directory called buddypress in child theme. Copy any files that need editing from ../wp-content/plugins/buddypress/bp-templates/bp-legacy/buddypress to this new directory. You must keep the directory structure but you only need copy over files that need editing. For example, if you need to edit../member/index.php the folder “member” needs to exist in childtheme/buddypress.
The above worked for me in this environment:
A child theme of a third party theme (Elegant Themes) * BuddyPress 1.7 beta 2. (no template pack)
BuddyPress 1.7 worked right out of the box with the Evolution theme by Elegant Themes with NO tweaks needed
Glad you got it worked out and thanks for explaining the process for novices that may run into the same issue.
just to make sure because i also want to little tweak of my buddypress
1. i need to make a folder /buddypress/ inside my theme folder.
2. copying all files inside /wp-content/plugins/buddypress/bp-templates/bp-legacy/buddypress into folder in step 1.
3. if i need to tweak buddypress css then i need to copy buddypress.css into my theme’s css folder (create folder if not any)
4. is that right ?
You must be logged in to reply to this topic.