Skip to content

Writer Profiles

New in 4.0.0. A writer profile is a real page for a member who writes: their avatar, their bio, what they have published, and a Follow button. It renders on the WordPress author archive, at /author/{name}/.

Before 4.0.0 that URL existed but nothing rendered a writer there. Post bylines already pointed at it, so a reader who clicked a member’s name landed on whatever list the theme happened to draw, with no bio and no way to follow them.

Element Source
Avatar and display name The member’s WordPress profile
Bio The Biographical Info field on the member’s WordPress profile
Posts count Published posts by that member
Views count Total views across their published posts
Followers count How many members follow them
Follow button Visible to logged-in members other than the writer
Post grid Their published posts, paginated (12 per page by default)

The page uses the same post cards as every other list in the plugin, so claps and bookmarks work there too.

This is the important part, and it is deliberate.

Situation Writer profiles
Fresh install of 4.0.0 On. The feature is the point of the release.
Existing site upgrading from 3.x Off. The upgrade writes no explicitly.

An existing site has an author archive its owner may have styled, may rank for, and may care about. Taking it over on the morning of an update whose notes nobody read is not our call to make. So an upgrading site keeps its theme’s author archive, and the owner opts in.

The value is written once, at upgrade. Once you switch it on, it stays on.

Go to Member Blog > Content, find Writer profiles, and choose:

  • Use the plugin’s writer profile - the plugin renders /author/{name}/.
  • Leave the author archive to my theme - the theme’s author.php renders it, exactly as before.

Save the tab.

add_filter( 'bpmb_takeover_author_archive', '__return_false' );

bpmb_takeover_author_archive receives the setting’s value and the ID of the writer being viewed, so you can also take over selectively:

// Only render the plugin's profile for members of a given role.
add_filter( 'bpmb_takeover_author_archive', function ( $takeover, $user_id ) {
return $takeover && user_can( $user_id, 'author' );
}, 10, 2 );

Nothing else changes when the takeover is off. Bylines and author cards still link to the writer; they simply land on the theme’s page.

Both surfaces render, and both are correct:

  • The member profile’s Blog tab stays canonical. It is where the community nav sends people, and the plugin does not fight BuddyPress for the profile.
  • /author/{name}/ renders the same writer header and post grid, and emits a <link rel="canonical"> pointing at the Blog tab, so search engines see one preferred URL rather than two competing ones.

There is no redirect. /author/ also serves posts this plugin knows nothing about (staff writers, imported archives), and a plugin does not get to 301 a core route out of existence.

One resolver decides where a writer’s name links to, everywhere in the plugin:

  1. BuddyPress or BuddyBoss active: the member’s Blog tab.
  2. Otherwise: /author/{name}/.

Developers can override it with the bpmb_writer_url filter.

Copy the profile template into your theme:

wp-content/themes/your-theme/buddypress-member-blog/writer-profile.php

The plugin uses your copy if it exists. This lets you restyle the profile without switching the feature off.

The posts-per-page value is filterable:

add_filter( 'bpmb_writer_profile_per_page', function ( $per_page, $user_id ) {
return 24;
}, 10, 2 );