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
    • Code Wrangler

    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
    • New Recruit

    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");

  • aristath
    • Recruit

    The original poster of this issue is no longer an active member on these forums.

    I am marking this issue as resolved.
    If however at some time the member becomes active again and the issue still exists, don't hesitate to reopen it and post an update on your current status.

    Cheers!
    Ari.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.