creating child theme for buddypress default theme

created child theme folder on server under wp-content/themes
added two files as follows
File 1 is as follows (I deleted my specific info for this post)
/*
Theme Name: My Child Theme
Theme URI: http://samplesite.com/themes/childtheme
Description: Child theme for buddypressdefault
Version: 1.6.4
Author: John Doe
Author URI: http://samplesite.com
Template: bp-default
*/
File 2 is as follows
/*
Theme Name: buddypress default
Description: Child theme for buddypressdefault
Version: 1.6.4
Author: John DOe
Template: bp-default
*/

@import url("../bp-default/style.css");

it installed but says it is broken because the css style sheet is missing.

I thought the second file I installed is the css style sheet.

Do not know how to fix broken install.
Thank you.

  • Paul Barthmaier

    Hi there and welcome to the WPMU DEV Community for WordPress Support!

    I'll give you an A for Effort!

    Actually, file 2 is closer to the child theme in that you have the import statement, but Buddypress is a little different. Here's the thing I say for WordPress child themes,

    A child theme is minimally a folder in your site's themes folder with a style.css which has the following structure:

    /*
    Theme Name: YOUR THEME Child Theme
    Version: 1.0
    Description: A child theme for YOUR THEME.
    Author:
    Author URL: http://www.yourURL.com
    Template: parent-theme-folder-name-here
    */
    @import url("../parent-theme-folder-name-here/style.css");

    You will, of course, need to change your details in the above structure. Notice, there are 3 important bits of info:

    1. the child theme is given a name, which is what will appear in the backend when selecting a theme.
    2. The parent theme's folder is named as the Template
    3. Info from the parent theme's css is brought in using the @import

    But the thing about Buddypress is that it is a plugin and stores its theme information in its folder. The import statement that you have in number 2 might have worked if Buddypress default theme were stored in the Themes folder like most other themes. The import statements will be something like:

    @import url( ../../plugins/buddypress/bp-themes/bp-default/_inc/css/default.css );
    @import url( ../../plugins/buddypress/bp-themes/bp-default/_inc/css/adminbar.css );

    But Buddypress' specialness, or should the word be Buddypress' specialocity is that it's functions.php actually does a bunch of the work.

    For more info, tho, you can check out the Buddypress codex, specifically:

    http://codex.buddypress.org/how-to-guides/building-a-buddypress-child-theme/

    Hope this helps!

    Cheers,
    Paul

  • ldiederich

    I found your advice very helpful but I was still unsuccessful in adding the css style sheet. I have since decided to try my site without buddypress so I deactivated it as I only need a simple forum page and not all the extra capabilities. Next I tried creating a child theme with Next Saturday Theme. I have marketpress installed and have multisite enabled. Still not having success with the child theme creation. How should I save the style sheet file before transfering it to server? php or something else. Is this what the contents of the file should look like? I am using notepad+ to create it.
    /*
    Theme Name: Next Saturday Child Theme
    Version: 1.0
    Description: A child theme for next saturday
    Author: Leslie Diederich
    Author URL: http://www.ecraftandshare.com
    Template: nextsaturday-wp-themes-content
    */
    @import url("../next saturday-wp-themes-content/style.css");

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.