Skip to content
GPLWP Guides

How to let users connect with friends on WordPress

Social Time About 30–60 minutes 6 steps Updated 21 Sep 2026

SOCIAL
The short answer

WordPress does not provide friend requests or connection lists by itself, so you need a community plugin or custom development. BuddyPress is the practical manual route; PeepSo Friends is the faster option when you also need profiles and activity feeds.

The route
  1. 01Decide what users should connect for
  2. 02Use BuddyPress for the manual route
  3. 03Set up profiles and directories
  4. 04Add friendship navigation
  5. 05Test the complete request flow
  6. 06Choose the fast way

What you need

  • A self-hosted WordPress site with administrator access
  • A user registration or membership system
  • A theme that supports community or profile pages
  • An SMTP or transactional email setup if users must receive request notifications

Decide what users should connect for

Choose whether a connection means a mutual friendship, a one-way follow, or simply permission to view a profile. This guide covers mutual friend requests: one member sends a request and the other accepts or rejects it.

Also decide whether connected users can message each other, see private activity, invite each other to groups, or only appear in a friends list. Setting this before installation prevents privacy and navigation changes later.

Use BuddyPress for the manual route

WordPress core has user accounts, but it does not include friendship requests, accepted-friend lists or member relationship screens. For a configurable manual route, install and activate BuddyPress, then open Settings → BuddyPress → Components and enable Friend Connections. BuddyPress documents this component as an optional feature for making member connections.

This route is fine for a straightforward community and gives you control over the other components you enable. The drawback is that you are setting up a broader community system, and your theme may need styling work before member pages look consistent.

Set up profiles and directories

Enable Members, and add Extended Profiles if people need profile fields beyond the standard WordPress account. Configure the BuddyPress directory and registration URLs under Settings → BuddyPress; newer versions may label the URL screen differently from older installations. BuddyPress can create or assign directory pages for enabled components.

Check the Members directory while logged out and logged in. The Add Friend action is intended for logged-in members and can appear in the directory and on individual member profiles.

Add friendship navigation

Add the Members directory to your main menu under Appearance → Menus. For logged-in users, also provide a clear route to their profile and friends screens. BuddyPress supports links to member directories and personal screens such as My Friends, My Profile and My Notifications.

Do not assume users will find pending requests from the toolbar alone. Put a visible Friends or Requests link in the account menu, especially if your theme hides the BuddyPress navigation.

Test the complete request flow

Create two ordinary test accounts. From the first account, open the second member’s profile and send a friend request. Sign in as the second account, open the request, accept it, then confirm that both accounts show the friendship. Also test rejection, cancellation and removing an accepted friend.

If a notification says a request exists but the request list is empty, check for theme or plugin conflicts, clear caches, and test with a default theme and only BuddyPress active. Support threads also report missing request pages, 404 errors and broken acceptance controls when components are disabled or another profile plugin changes BuddyPress screens.

Choose the fast way

For a quicker setup, use PeepSo Friends when you need friend connections alongside user profiles and activity feeds. It is designed for WordPress communities and adds the social interaction layer without requiring you to assemble and style each community feature separately.

After activating it, configure who can send requests, whether connections require approval, which profile screens users can access, and how notifications are delivered. Keep the same two-account test: send, accept, reject, cancel and remove a connection before opening the feature to your members.

The fast route

Let PeepSo Friends do it

Adds friend connections and social interaction tools for WordPress communities, especially when user profiles and activity feeds are also needed.

Get PeepSo Friends

Sources

  1. codex.buddypress.org /getting-started/configure-components/?utm_source=openai
  2. wordpress.org /plugins/buddypress/?utm_source=openai
  3. codex.buddypress.org /administrator-guide/member/?utm_source=openai
  4. codex.buddypress.org /getting-started/buddypress-links-in-wordpress-menus/?utm_so…
  5. buddypress.org /support/topic/issues-with-friends-requests/?utm_source=open…
  6. developer.buddypress.org /bp-rest-api/reference/friends/?utm_source=openai
  7. buddypress.org /support/topic/friends-and-friend-request-pages-not-found/?u…
  8. buddypress.org /about/friends/?utm_source=openai

Questions

Can WordPress let users add friends without a plugin?
Not with WordPress core alone, because core user accounts do not include friendship requests, accepted connections or a friends directory. You could build those features with custom database tables, profile screens, permissions and notifications, but that is development work rather than a setting. A community plugin such as BuddyPress or PeepSo Friends is the practical approach for most sites.
Is BuddyPress enough for friend connections?
Yes, BuddyPress includes an optional Friend Connections component with requests, accepted friendships and member-facing friend screens. You enable it under Settings → BuddyPress → Components, then configure the member and profile pages. It is a good fit if you also want activity streams, groups or messaging, but its pages may need styling to match your theme.
Why can users send requests but not accept them?
The usual causes are a disabled Friend Connections component, incorrect or missing BuddyPress directory URLs, a theme conflict, or another profile plugin replacing BuddyPress controls. Test with a default theme and other plugins temporarily disabled, then check the assigned BuddyPress pages or URLs. A 404 or empty request screen is a configuration or compatibility symptom, not a normal part of the request flow.
Do friend requests need email notifications?
No, users can manage requests from their profile or notifications area, but email makes pending requests much easier to notice. BuddyPress can provide friendship notifications, and members may be able to turn off new friendship notification emails when the Settings component is active. Verify email delivery with two test accounts before relying on it.
Can I make connections one-way instead of mutual?
Not with the standard BuddyPress friendship model, which treats friendship as a request that another member accepts. If you need one-way follows, subscribers, or approval rules based on roles, use a plugin that specifically supports those relationships or plan custom development. Do not label a mutual friendship button as Follow, because users will expect different privacy and notification behaviour.