Skip to:
Content
Pages
Categories
Search
Top
Bottom

My BuddyPress Theme Development

  • Avatar of Marcella
    Marcella
    Participant

    @marcella1981

    I’m building a BuddyPress theme, and have always found it a really overwhelming task in the past.

    This time round (it’s not that different to previous attempts) i’ve tried to prepare a set of BuddyPress theme files (not so disimilar to bp-default) that area empty and ready to template for.

    That said, it lacks a whole lot of the default BuddyPress functionality. All ajax has been removed for example.

    So the workflow is simple, work on one component at a time and review as it goes.

    I’ve had massive troubles using CSS effectively with the wealth of BuddyPress template files, not to mention BBPress… So the solution was to create independent files for all components.

    member-activity.css
    member-groups.css
    member-messaging.css

    etc.

    Now I can get up in the morning (fortunately or unfortunately I don’t have a day job right now), and tackle a single component (hence the “Day in review” blog posts).

    Would love to hear peoples thoughts.

    I’ll be working on the registration soon, so hopefully there will be some buddies on here to help encourage the theme completion.

    http://pixelcoder.co.uk

Viewing 2 replies - 1 through 2 (of 2 total)
  • Avatar of BuddyBoss
    BuddyBoss
    Participant

    @buddyboss

    My advice:

    1. Don’t copy bp-default. It’s a very old theme and is being retired. Instead, model everything off of the bp-legacy files. They’re at /plugins/buddypress/bp-templates/bp-legacy/

    When BuddyPress runs (1.7+) it is pulling in templates files and CSS and JS from this folder. You can replicate that folder structure to override any templates in there, like CSS, etc.

    2. If you want to completely override the default CSS, you can remove the enqueuing of it entirely with this in your functions.php, so that you’re not loading your CSS in addition to BP default CSS.

    wp_deregister_style( 'bp-child-css' );
    wp_deregister_style( 'bp-parent-css' );

    3. Sounds like a nice plan of attack. I wouldn’t recommend using a separate stylesheet for every single component, because you’re going to end up with a ton of stylesheets which will be bad for performance. But if it makes your life easier to code this way, you can always combine all of the styles at the end. Also I think you may find that a lot of stuff overlaps between components. Like all directories are basically the same CSS (Member directory, Groups directory, etc.), and member profiles and single groups are basically the same CSS. So it may get redundant to separate by component. I would separate by directory, single item (profile, group), and then get specific for different “inner” content types – like messages, activity, etc.

    Avatar of Marcella
    Marcella
    Participant

    @marcella1981

    The overlaps are exactly what’s been happening, so unifying the theme in terms of html markup is a goal. I use Less to code CSS so minification is not a problem, just the amount of CSS there is to write in the first place.

    Thanks for the heads up about bp-legacy, I meant to say that’s what I was doing and not bp-default. There was a blog about the changes and some info in the codex.

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

You must be logged in to reply to this topic.