Within your child theme, you can only use budypress template files – the files inside /bp-template/bp-legacy/.
In order to edit the template files you have to create a folder named buddypress inside your child theme folder. Every file you want to edit should be inside the same directory structure as in bp-legacy.
For example:
If you want to edit activity-loop.php then you place the file in:
your-child-theme/buddypress/activity/
Editing css and js:
your-child-theme/css/buddypress.css
your-child-theme/js/buddypress.js
Another thing that you should look at are hooks. Buddypress has many hooks that you can use inside your functions.php. I’ve never found any structured documentation about it. but you can learn a lot about it from tutorials online. Here is a blog with many tutorials
http://bp-tricks.com/
Sometimes you can’t find hooks to everything you want to do so what I do is documenting my hacks in the core so I can keep track of them when it is time to upgrade.
Thank you very much Shpitzyl for your reply,
I wanted to edit “bp-core-widgets” the directory is plugins >buddypress > bp-core > bp-core-widgets.php , so within my child theme I have created a folder “buddypress” and within that folder a subfolder “bp-core” and bp-core-widgets.php is the same directory as the plugin. But when i edit the file in child theme directory my edit does not show whereas if i edit the file within the plugin directory it works. Please help me where have i gone wrong 🙁 do I have to specifically all any thing in my child theme style.css ??
/*
Theme Name: Buddy Child Theme
Description: Child Theme
Version: 1.0
Author:
Author URI:
Template: buddy
Tags: buddypress
*/
@import url("../buddy/style.css");
Thank you very much Shpitzyl
No, you didn’t understand what I was saying. Read again the first line on my post. You can use in your child theme only the template files inside bp-template. You can’t use the core files.
widget.php is not a template file. If you want to edit widget.php you have only two option.
1. Try to find a hook inside the file.
2. If you can’t find a hook then you can only hack the core.
Oh, Thank you very much Shiptzyl, will check again really appreciate your help 🙂
This is really useful! So let’s make this based on ftp url’s to confirm our understanding. If (buddypress.js) path is:
/MYDOMAINNAME.com/html/wp-content/plugins/buddypress/bp-templates/bp-legacy/js
and I want to edit this in my child theme, I have to create js folder inside my child theme. The path will be:
/MYDOMAINNAME.com/html/wp-content/themes/ChildThemeName/js
Inside the js folder in the child theme directory I will copy and past buddypress.js there and edit it at my convenience. The updates will not affect this file, do I ever have to worry about updating this?
Regarding buddypress CSS, do I have to create a folder for Buddress like this one: your-child-theme/css/buddypress.css to style buddypress? or I can add this to the style.css in the child theme directory? what is the best practice?
If I want to make updates to buddypress CSS for desktops and get rid of those updates (styles) on the ipad and phones to keep on responsiveness. What do you suggest I do?
Thanks
If (buddypress.js) path is:
/MYDOMAINNAME.com/html/wp-content/plugins/buddypress/bp-templates/bp-legacy/js
and I want to edit this in my child theme, I have to create js folder inside my child theme. The path will be:
/MYDOMAINNAME.com/html/wp-content/themes/ChildThemeName/js
But in reality the path is:
wp-content/plugins/buddypress/bp-templates/bp-legacy/BUDDYPRESS/js/buddypress.js
Therefore the path for the copy must be:
wp-content/themes/ChildThemeName/BUDDYPRESS/js/buddypress.js
@1a-spielwiese
Inside bp-legacy we have three folders and one file:
The folders are:
1) buddypress
2) css
3) js
The file is buddypress-functions.php.
Buddypress folder contains (activity, blogs, forums, groups, members).
The path you specified doesn’t exist in my directory listing. When I follow your link I get (Failed to retrieve directory listing).
Thanks
The folders are:
1) buddypress
2) css
3) js
The file is buddypress-functions.php.
Sorry, you are right. The folders css and js are on same level as buddypress; not below. My mistake.
@jessicana
If I want to make updates to buddypress CSS for desktops and get rid of those updates (styles) on the ipad and phones to keep on responsiveness. What do you suggest I do?
You can use media queries to make different styles to different screen sizes.
Well, if I am customizing a theme using a child theme, do I have to use these media queries before each element I am changing or editing? Will one media query at the begging get this job done?
@jessicana,
Regarding buddypress CSS, do I have to create a folder for Buddress like this one: your-child-theme/css/buddypress.css to style buddypress? or I can add this to the style.css in the child theme directory? what is the best practice?
Both are best practice. 😉
But if you’re working with a child-theme, you add a folder named buddypress or community to the child and copy only the template you want to modify from bp-legacy into this folder, by respecting the same path form as in bp-legacy.
CSS can be added directly to child style.css
JS modification goes to /your_child/buddypress/js/your_js.js
Theme Compatibility & Template Files
Thank you very much shpitzyl I am able to edit “register.php” file within my child theme like you said.
Regards,
Singh