This discussion was presented at WordCamp Orlando 2011 on Dec 3rd, 2012.
It didl address how to use BuddyPress for a variety of projects and sites – beyond just simply adding a “social network” to your blog.
We will explore how you can customize BuddyPress templates and functions to alter and add components for custom projects. We’ll also check out some great customizable plugins. The goal is to have fun and explore what BuddyPress can really do.
2. What We Will
Be Covering
What Is BuddyPress?
Typical Applications of BP
Maximizing The Potential of BP
Sites That “Think Outside Of The Box”
Plugins And Themes To Help You Think
“Outside Of The Box”
5. About Ptah Dunbar,
the Harold:
• Still Alive : )
• Web developer for 6 years
• WordPress, BuddyPress, bbPress Core Contributor
• Co-organizer of WordCamp Miami
• Co-organizer of WordPress Monthly Meetups
• @ptahdunbar
7. HUSBAND TO A WONDERFUL WIFE
(WOMAN PICTURED MIGHT NOT BE ACTUAL WIFE)
8. About David Bisset,
the Kumar:
• Freelance web developer for over 8 years
• Worked with WordPress for over 3 years (since
version 1.5)
• Played and worked w/ BuddyPress since pre 1.0
beta.
• Co-organizer of WordCamp Miami
• @dimensionmedia / about.me/davidbisset
10. What Is BuddyPress?
In a nutshell: “Social Networking In a Box”
Set Of Open Source Plugins For WordPress
11. What Is BuddyPress?
In a nutshell: “Social Networking In a Box”
Set Of Open Source Plugins For WordPress
Conceived in 2008, 1st Release in May 2009
12. Activity
Streams
Global, personal and group activity
streams with threaded
commenting, direct posting,
favoriting and @mentions. All with
full RSS feed and email notification
support.
13. Extended
Profiles
Fully editable profile fields allow
you to define the fields users can
fill in to describe themselves. Tailor
profile fields to suit your audience.
14. Friending
Let your users make connections
so they can track the activity of
others, or filter on only those users
they care about the most.
15. Private Private messaging will allow your
users to talk to each other directly,
and in private. Not just limited to
Messaging one on one discussions, your
users can send messages to
multiple recipients.
16. Blogging Start a blog built on the best
blogging software in the world.
Even allow each of your users to
start their own full powered
WordPress blog. Track new posts
and comments across your site.
17. Groups
Powerful public, private or hidden
groups allow your users to break
the discussion down into specific
topics. Extend groups with your
own custom features using the
group extension API.
25. What Can You Use
BuddyPress For?
Obvious Solution:
A niche social network on your site for a
particular topic or business (cars, art,
football, underwater basket weaving, etc.)
26. What Can You Use
BuddyPress For?
Solution Gaining Popularity:
A niche social network for your local
organization, church, school,
meetup group, etc.
29. Why Use BuddyPress?
Open Source – Like WordPress, BuddyPress is an open-source content management system. It’s
free, but it’a also actively maintained and you can assist with the development.
Control your own data – You and only you will be in control of your member data and code. There
are no restrictions placed on what you can access. No worries about service changes (Ning,
cough).
Control - Sell and display advertising or keep your site ad free. Your members will never receive
unsolicited emails. All communication is in your hands
Customization - Tailor the features and functionality to your community’s needs with BuddyPress-
specific plugins and the vast WordPress plugin repository.
30. Is There More
BuddyPress Can Do?
Let’s Take A Look At Examples At Sites That
Thought “Outside The Box” When It Came To
BuddyPress
35. What Can We Learn From
Peerbackers.com?
Groups Can Be Anything If You Think “Outside The Box”
36. What Can We Learn From
Peerbackers.com?
Groups Can Be Anything If You Think “Outside The Box”
Groups Can Be Projects, Educational Courses, Seminars,
Sports Teams, etc.
37. What Can We Learn From
Peerbackers.com?
Groups Can Be Anything If You Think “Outside The Box”
Groups Can Be Projects, Educational Courses, Seminars,
Sports Teams, etc.
Anything That Can Be Followed or Joined By Members
Could Be A Group
38. What Can We Learn From
Peerbackers.com?
Groups Can Be Anything If You Think “Outside The Box”
Groups Can Be Projects, Educational Courses, Seminars,
Sports Teams, etc.
Anything That Can Be Followed or Joined By Members
Could Be A Group
Anything That Has It’s Own Unique Activity
Could Be A Group
45. What Can We Learn From CUNY
Academic Commons?
BuddyPress is great for use in educational institutions
46. What Can We Learn From CUNY
Academic Commons?
BuddyPress is great for use in educational institutions
Power of BuddyPress Plugins
HTTP://DEV.COMMONS.GC.CUNY.EDU/2010/05/25/BUDDYPRESS-PLUGINS-
RUNNING-ON-THE-CUNY-ACADEMIC-COMMONS/
48. How Did They Use
BuddyPress To Make
a Social Game?
- BuddyPress Users Became “Players” In
The Social Game
- Leaderboard is a list of “top users”
sorted by points
- Using BuddyPress Achievements Plugin
To Record OnSite Actions And Assign
Points
50. When Creating A New
Project or Site, Ask Yourself:
1. Do I need user registration and
profiles are needed on some level?
2. Are users interacting,
collaborating, or communicating with
each other?
3. Are users posting content (blog
posts, updates, etc.) that they want to
share?
4. Am I already using WordPress As A
CMS? (Duh.)
51. When Creating A New
Project or Site, Ask Yourself:
1. Do I need user registration and
profiles are needed on some level?
2. Are users interacting,
collaborating, or communicating with
each other?
3. Are users posting content (blog
posts, updates, etc.) that they want to
share?
4. Am I already using WordPress As A
CMS? (Duh.)
* Of course, BuddyPress won't fit every situation.
53. BuddyPress sites don’t all
have to be like... Facebook.
The term “social network” has been
abused. Remember that BuddyPress
is not “all or nothing” and not every
site has to have all attributes of a
typical “social network”. Turn on/off
modules as you need them.
54. With custom coding and
elbow grease, in theory you
can create variations of
ideas found at these popular
social sites:
Foursquare
Flickr
Forrst.com
55. Don’t forget internal
uses for BuddyPress.
- Use BP as internal
communication tool for your
company or for a client.
- Use BuddyPress as a
Private Collaboration System
http://www.1stwebdesigner.com/tutorials/buddypress-
collaboration-system/
56. Plugins That Can Help You
Think “Outside The Box”
With BuddyPress
57. Achievements for
BuddyPress
Developer: Paul Gibbs
Inspired by video game achievement
systems, Achievements for BuddyPress
gives your community fresh impetus by
promoting and rewarding social
interaction with challenges, badges and
points. For example, reward users for
commenting on a blog post or uploading a
picture to their profile.
59. Gravity Forms w/
User Registration
Add-On
Create a registration form that creates a
user account, and automatically populate
user meta data and BuddyPress profile
data. The User Registration Add-On also
integrates with the PayPal Add-On to
require a payment before the user is
registered.
http://www.gravityhelp.com/gravity-forms-user-registration-add-on-
v1-0-beta-1-released/
60. Group Documents
Developer: Peter Anselmo
Group Documents creates a page within
each BuddyPress group to upload and any
type of file, attachment or document.
Documents can be edited and deleted
either by the document owner or by the
group administrator.
http://buddypress.org/community/groups/buddypress-group-documents/
61. BuddyPress Mobile
Developer: @modemlooper
Theme optimized for viewing on iPhone,
iPod touch. Will also work on Android and
some Blackberry devices.
http://buddypress.org/community/groups/buddypress-mobile
62. WP DEMO Creator
Developer: mrwiblog
Demo Data Creator is a WordPress, WPMU/
MultiSite and BuddyPress plugin that
allows a WordPress developer to create
demo users, blogs, posts, comments.
http://wordpress.org/extend/plugins/demo-data-creator/
63. BuddyPress Skeleton
Component
Developer: mrwiblog
Demo Data Creator is a WordPress, WPMU/
MultiSite and BuddyPress plugin that
allows a WordPress developer to create
demo users, blogs, posts, comments.
http://wordpress.org/extend/plugins/demo-data-creator/
64. BP Multi Network
Developer: John James Jacoby, Ron
Rennick
This plugin segregates BuddyPress social
networks in a multi network WordPress
install so that each WP network has a
different social network. The user base is
still shared across the WP install.
65. BP Group
Management
Developer: Boone Gorges
Creates a panel that site admins can use
to manage BP group membership by
banning, unbanning, promoting and
demoting current members of any group,
adding new members to any group, and
deleting groups.
http://wordpress.org/extend/plugins/bp-group-management/
66. Invite Anyone
Developer: Boone Gorges
1. The ability to invite members to the site
by email.
2. By default, BuddyPress only allows
group admins to invite their friends to
groups. In some communities, you might
want members to be able to invite non-
friends to groups as well. This plugin
populates the invitation checklist with the
entire membership of the site, rather than
just a friend list.
http://wordpress.org/extend/plugins/invite-anyone/
68. Bookmark These.
You Know You Want To.
BuddyPress.org Showcase
http://buddypress.org/showcase/
BPInspire
http://www.bpinspire.com/
Buddy Dev
http://buddydev.com/
BuddyBoss Directory
http://www.buddyboss.com/buddypress-site-directory/
BP Tricks
http://bp-tricks.com
71. BP Template Pack
Developer: BP Team
Add support for BuddyPress to your
existing WordPress theme. This plugin will
guide you through the process step by
step. Once you are finished, your existing
WordPress theme will be able to manage
and display all BuddyPress pages and
content. The process is completely
reversible and does not modify any of your
existing template files.
http://wordpress.org/extend/plugins/bp-template-pack/
79. Pro Tip: Get Curent Template
http://codex.buddypress.org/developer-docs/group-extension-api/
80. BP Group Extension API
http://codex.buddypress.org/developer-docs/group-extension-api/
81. BP Group Extension API
class My_Group_Extension extends BP_Group_Extension {
function __construct() {
global $bbp;
// Name and slug
$this->name = __( 'Custom Header' );
$this->nav_item_name = __( 'Custom Header' );
$this->slug = 'custom-header';
// visibliblity
$this->visibility = 'public';
// Set positions towards end
$this->create_step_position = 21;
$this->nav_item_position = 31;
}
}
http://codex.buddypress.org/developer-docs/group-extension-api/
82. BP Group Extension API
function create_screen() {}
function create_screen_save() {}
function edit_screen() {}
function edit_screen_save() {}
function widget_display() {}
function display() {}
http://codex.buddypress.org/developer-docs/group-extension-api/
83. BP Group Extension API
http://codex.buddypress.org/developer-docs/group-extension-api/