-1

If creating a custom wordpress theme that runs buddypress, is there a list of where to put the template files from bp-legacy and what to name them in your theme's buddypress folder?

What I would like to be able to do is allow myself to specify unique templates for BP screens such as 'Groups', 'User', etc. to have better control over how buddypress integrates with my non-standard, customized wordpress themes style and layout.

0

This answer is for Buddypress 1.7. No idea how much of it, if any, still applies to the current version (2.8+)

Here's an as of yet incomplete listing of what files go where. I'll update it as I get more into theming buddypress sites.

The official 'hints' page can be found here..

https://codex.buddypress.org/themes/theme-compatibility-1-7/template-hierarchy/

If you would prefer a basic guide to familiarise you with the template files and how you can make them work for you in your chosen theme you can read this..

https://codex.buddypress.org/themes/theme-compatibility-1-7/a-quick-look-at-1-7-theme-compatibility/

Note: There are a couple of templates where the php isn't closed and if you're not using a buddypress.php base template you will need to close them if you're including a wordpress header and footer on those pages.

Advisory: It's been noted by a buddypress developer that this is not the standard way to customize buddypress to fit with your wordpress theme. After downvoting (I assume), he failed to provide 'proper' alternatives to this answer.


Profiles


profile -> edit

from bp-legacy

/bp-legacy/buddypress/members/single/profile/edit.php

to your theme

/yourtheme/buddypress/members/single/index-action-edit.php

profile -> change profile photo

your.website/members/admin/profile/change-avatar/

/bp-legacy/buddypress/members/single/profile/change-avatar.php

/yourtheme/buddypress/members/single/index-action-change-avatar.php

profile -> change cover image

your.website/members/admin/profile/change-cover-image/

/bp-legacy/buddypress/members/single/profile/change-cover-image.php

/yourtheme/buddypress/members/single/index-action-change-cover-image.php

single profile page

your.website/members/MEMBER-NAME/

/bp-legacy/buddypress/members/single/home.php

/yourtheme/buddypress/members/single/index.php

Notifications


notifications base template (notifications.php)

/bp-legacy/buddypress/members/single/notifications.php

/yourtheme/buddypress/members/single/index-action-notifications.php

will call the loop..

notifications loop (notifications-loop.php)

/bp-legacy/buddypress/members/single/notifications/notifications-loop.php

/yourtheme/buddypress/members/single/notifications/notifications-loop.php

which calls either unread or read..

notifications -> unread

your.website/members/admin/notifications/

/bp-legacy/buddypress/members/single/notifications/unread.php

/yourtheme/buddypress/members/single/notifications/unread.php

notifications -> read

your.website/members/admin/notifications/read/

/bp-legacy/buddypress/members/single/notifications/read.php

/yourtheme/buddypress/members/single/notifications/read.php

or if no notifications exist..

no notifications feedback-no-notifications.php

/bp-legacy/buddypress/members/single/notifications/feedback-no-notifications.php

/yourtheme/buddypress/members/single/notifications/feedback-no-notifications.php

Messages


messages -> inbox & messages -> sent

your.website/members/admin/messages/

your.website/members/admin/messages/sentbox/

*php is unclosed in template file, has to be closed if following this style of theming.

/bp-legacy/buddypress/members/single/messages.php

/yourtheme/buddypress/members/single/index-component-messages.php

switch - if is inbox or sentbox calls messages-loop.php

messages loop

/bp-legacy/buddypress/members/single/messages/messages-loop.php

/yourtheme/buddypress/members/single/messages/messages-loop.php

calls message.php to view each individual message thread

message thread

/bp-legacy/buddypress/members/single/messages/message.php

/yourtheme/buddypress/members/single/messages/message.php

messages -> inbox -> 'view message' the message thread or conversation

/bp-legacy/buddypress/members/single/messages/single/single.php

/yourtheme/buddypress/members/single/messages/single.php

alternatively you can rename it and place it here (not sure why i had this set up originally)

/yourtheme/buddypress/members/single/index-action-view.php

individual message (from so and so at this time)

called from single message page, single.php/index-action-view.php ..

<?php bp_get_template_part( 'members/single/messages/message' ); ?>

.

/bp-legacy/buddypress/members/single/messages/message.php

/yourtheme/buddypress/members/single/messages/message.php

messages -> starred

your.website/members/admin/messages/starred/

seems to be the same as inbox.sentbox

messages -> compose

called from index-component-messages.php switch case:compose

your.website/members/test-subscriber/messages/compose/

/bp-legacy/buddypress/members/single/messages/compose.php

/yourtheme/buddypress/members/single/messages/compose.php

messages -> all member notices (viewable by admin only)

your.website/members/admin/messages/notices/

calls notices-loop.php

<?php bp_get_template_part( 'members/single/messages/notices-loop' ); ?>

needs doing

Friends


friends -> friendships

your.website/members/admin/friends/

*php is unclosed in template file, has to be closed if following this style of theming.

/bp-legacy/buddypress/members/single/friends.php

/yourtheme/buddypress/members/single/index-component-friends.php

friends -> pending requests

your.website/members/admin/friends/requests/

/bp-legacy/buddypress/members/single/friends/requests.php

/yourtheme/buddypress/members/single/index-action-requests.php

Settings


note - there is probably a main template that should call each of these from the original bp-legacy paths. something like a settings.php, ile play around with it and update later.

settings -> general

your.website/members/admin/settings/

 /bp-legacy/buddypress/members/single/settings/general.php

 /yourtheme/buddypress/members/single/index-action-general.php

settings -> general -> email (noticiations by email)

your.website/members/admin/settings/notifications/

/bp-legacy/buddypress/members/single/settings/notifications.php

/yourtheme/buddypress/members/single/index-action-notifications.php

settings -> general -> profile visibility

your.website/members/admin/settings/profile/

/bp-legacy/buddypress/members/single/settings/profile.php

/yourtheme/buddypress/members/single/index-action-profile.php

settings -> general -> delete account

*note - you cant see this page as an admin (redirects if u try), its not even listed in the settings menu. log in as a test account (non-admin) to view it.

your.website/members/test-subscriber/settings/delete-account/

/bp-legacy/buddypress/members/single/settings/delete-account.php

/yourtheme/buddypress/members/single/index-action-delete-account.php

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.