Shortcodes Reference
BuddyPress Member Blog overviewFree + ProGet BuddyPress Member Blog →
WB Member Blog ships 12 shortcodes. Two of them are the member pages (the post form and the dashboard); the other ten list posts, writers or topics anywhere on your site. Every shortcode also has a matching block, see Blocks.
For the shortcodes WB Member Blog Pro adds, see the Pro Shortcodes Reference.
All shortcodes
Section titled “All shortcodes”| Shortcode | What it shows | Pages? | Load more? |
|---|---|---|---|
[bp-member-blog] |
The post form members write in | - | - |
[member-blog-dashboard] |
A member’s blog home: posts, drafts, pending, saved, following | Yes | - |
[bp-member-blog-list] |
One member’s published posts | Yes | Yes |
[bp-member-blog-recent] |
The latest posts from all members, with optional search and category filter | Yes | Yes |
[bp-member-blog-popular] |
The most-viewed posts | Yes | Yes |
[bp-member-blog-authors] |
A directory of members who write | Yes | Yes |
[bp-member-blog-categories] |
Categories as a cloud, list or grid | - | - |
[bp-member-blog-featured] |
Posts an editor has featured | - | - |
[bp-member-blog-related] |
Posts related to the one being read | - | - |
[bp-member-blog-topic] |
A topic hub for one category or tag | Yes | - |
[bp-member-blog-reading-list] |
The posts a member saved to read later | Yes | Yes |
[bp-member-blog-following] |
New posts from the writers and topics a member follows | Yes | Yes |
How every list behaves
Section titled “How every list behaves”These rules apply to every listing shortcode, so they are stated once here.
Pagination. Lists that have more posts than fit show numbered page links under them.
Several lists on one page page independently. Each list reads its own page number from the address bar: the first list uses ?bpmb_page=2, the second ?bpmb_page_2=2, the third ?bpmb_page_3=2, and so on. Moving to page 2 of one list leaves the others where they were.
Load more. Add load_more="yes" to a shortcode that supports it (see the table above) to show a Load more button that adds the next posts under the current ones instead of page links. The page links stay in the page as a fallback for visitors without JavaScript.
Designed empty state. When a list has nothing to show, it renders a short message with an icon (for example “No posts yet”) instead of a blank gap under your heading. The message is written for visitors.
Admin hint. When a list is empty because of how it was set up (no topic given, nothing featured yet, a list that depends on who is signed in), site administrators also see a line starting “Only admins see this:” that says how to fix it, often with an Open link to the right admin screen. Visitors and members never see it.
Yes/no attributes take yes or no. Columns are clamped to the range shown; a value outside it is corrected rather than ignored.
Styles load only where needed. The card stylesheet loads on pages that contain one of these shortcodes or blocks. If you render a shortcode from a widget, template or page builder where WordPress cannot see it in the page content, add add_filter( 'bpmb_enqueue_card_styles', '__return_true' ); to load it.
Member pages
Section titled “Member pages”[bp-member-blog] - post form
Section titled “[bp-member-blog] - post form”The form members use to write, edit and submit posts. It takes no attributes. The plugin creates a page with this shortcode on activation, and the page is set under Pages.
| Visitor | What they see |
|---|---|
| Signed out | “Log in to write a post and share it with the community.” with a sign-in link |
| Signed in, not allowed to post | “You are not allowed to access this page.” |
| Signed in and allowed | The post form |
To replace the signed-out message, put your own text inside the shortcode:
[bp-member-blog]Members only. Join to start writing.[/bp-member-blog]Who is allowed to post is set under Access, see Access Settings.
[member-blog-dashboard] - member dashboard
Section titled “[member-blog-dashboard] - member dashboard”A member’s blog home. The plugin creates a “My Blog Dashboard” page with this shortcode on activation.
| Attribute | Default | Description |
|---|---|---|
user_id |
0 |
0 shows the signed-in member’s own home. Another member’s ID shows only that member’s Published posts. |
tab |
posts |
The tab that opens first: posts, drafts, pending, saved or following. A tab the viewer does not have falls back to their first tab. |
What the tabs are:
| Tab | Shown to |
|---|---|
| Published | Members who can write, and anyone viewing another member’s dashboard |
| Drafts, Pending | The owner, when they can write |
| Saved | The owner, when the Reading list feature is on |
| Following | The owner, when the Follow writers feature is on |
A member who cannot write gets a reading home with only Saved and Following, titled “My reading”. A signed-out visitor sees “Please log in to view your blog dashboard.”
On its own page the dashboard does not print a second “My Blog” heading under the page title. Where you drop it into other content it does. Developers can change this with the bpmb_dashboard_show_title filter.
Posts per page on the dashboard is set under Content > Posts per page.
Post lists
Section titled “Post lists”[bp-member-blog-list] - one member’s posts
Section titled “[bp-member-blog-list] - one member’s posts”With no user_id, it lists the posts of whoever is signed in. That makes it a “my posts” list: a signed-out visitor sees the empty state. To show one writer to everyone, give their user ID.
| Attribute | Default | Description |
|---|---|---|
user_id |
0 |
Member whose posts to show. 0 means the signed-in member. |
count |
5 |
Posts per page |
columns |
1 |
Grid columns, 1 to 4 |
show_excerpt |
yes |
Show the excerpt |
show_image |
yes |
Show the featured image |
show_date |
yes |
Show the publish date |
show_author |
no |
Show the author name |
orderby |
date |
date, title, comment_count or rand |
order |
DESC |
ASC or DESC |
category |
(empty) | Only posts in this category (slug or ID) |
tag |
(empty) | Only posts with this tag (slug or ID) |
load_more |
no |
Show a Load more button. Ignored with orderby="rand", which keeps page links. |
class |
(empty) | Extra CSS class on the wrapper |
Admin hint: with no user_id, admins are told that signed-out visitors see no posts here.
[bp-member-blog-list user_id="12" count="6" columns="2"][bp-member-blog-list user_id="12" category="travel" show_author="yes"][bp-member-blog-recent] - latest posts from all members
Section titled “[bp-member-blog-recent] - latest posts from all members”The community feed: newest posts first, from every member.
| Attribute | Default | Description |
|---|---|---|
count |
10 |
Posts per page |
columns |
3 |
Grid columns, 1 to 4 |
show_excerpt |
yes |
Show the excerpt |
show_image |
yes |
Show the featured image |
show_date |
yes |
Show the publish date |
show_author |
yes |
Show the author name |
show_avatar |
yes |
Show the author avatar |
show_search |
no |
Show a search box above the list |
show_filter |
no |
Show a category dropdown above the list |
category |
(empty) | Only posts in this category (slug or ID). A visitor’s choice in the category dropdown overrides it. |
exclude_users |
(empty) | Comma-separated user IDs whose posts to leave out |
load_more |
no |
Show a Load more button |
class |
(empty) | Extra CSS class on the wrapper |
The search box and category dropdown work through the page address (?bpmb_s= and ?bpmb_cat=), so filtered results can be bookmarked and work without JavaScript. When a search or filter matches nothing, the list says “No posts match your filters”.
[bp-member-blog-recent count="6" columns="3"][bp-member-blog-recent show_search="yes" show_filter="yes" count="12"][bp-member-blog-recent exclude_users="1" category="news"][bp-member-blog-popular] - most-viewed posts
Section titled “[bp-member-blog-popular] - most-viewed posts”Posts ranked by view count, most viewed first, with rank numbers.
| Attribute | Default | Description |
|---|---|---|
count |
10 |
Posts per page |
columns |
3 |
Grid columns, 1 to 4 |
show_excerpt |
yes |
Show the excerpt |
show_image |
yes |
Show the featured image |
show_date |
yes |
Show the publish date |
show_author |
yes |
Show the author name |
show_views |
yes |
Show the view count |
timeframe |
all |
Only posts published in the last week, month or year, or all |
category |
(empty) | Only posts in this category (slug or ID) |
load_more |
no |
Show a Load more button |
class |
(empty) | Extra CSS class on the wrapper |
[bp-member-blog-popular timeframe="month" count="5" columns="1"][bp-member-blog-featured] - featured posts
Section titled “[bp-member-blog-featured] - featured posts”Posts an editor has featured from Posts > All Posts. See Featured Posts.
| Attribute | Default | Description |
|---|---|---|
per_page |
3 |
How many posts to show, 1 to 24 |
columns |
3 |
Grid columns, 1 to 4 |
category |
(empty) | Only featured posts in this category |
tag |
(empty) | Only featured posts with this tag |
title |
(empty) | Heading shown above the grid |
class |
(empty) | Extra CSS class on the wrapper |
This list does not page: it shows the first per_page featured posts. With nothing featured, visitors see “No featured posts yet” and admins are told how to feature a post.
[bp-member-blog-featured per_page="6" title="Editor's picks"][bp-member-blog-related] - related posts
Section titled “[bp-member-blog-related] - related posts”Posts that share a category or tag with the post being read, topped up with recent posts. Built for single posts. See Related Posts.
| Attribute | Default | Description |
|---|---|---|
count |
4 |
How many posts, 1 to 12 |
columns |
2 |
Grid columns, 1 to 4 |
post_id |
0 |
Post to find related posts for. 0 means the post being viewed. |
show_image |
yes |
Show featured images. Images are shown only when every related post has one, so the cards line up. |
show_date |
yes |
Show the publish date |
class |
(empty) | Extra CSS class on the wrapper |
The strip carries a “Related posts” heading. It renders nothing when there is no post to relate to or nothing related is found.
[bp-member-blog-topic] - topic hub
Section titled “[bp-member-blog-topic] - topic hub”A topic hub for one category or tag: the topic header, “Writers on this topic”, and the topic’s posts. See Topic Hubs.
| Attribute | Default | Description |
|---|---|---|
category |
(empty) | Category slug or ID |
tag |
(empty) | Tag slug or ID. Used only when category is empty. |
per_page |
12 |
Posts per page, 1 to 24 |
columns |
3 |
Grid columns, 1 to 4 |
show_writers |
yes |
Show “Writers on this topic” |
show_header |
yes |
Show the topic name, description, post count and Follow button |
class |
(empty) | Extra CSS class on the wrapper |
With no category or tag, it uses the topic of the category or tag archive it is placed on. Admins are told when no topic is given or the slug does not match one.
[bp-member-blog-topic category="travel"][bp-member-blog-topic tag="how-to" columns="2" show_writers="no"]Readers and writers
Section titled “Readers and writers”[bp-member-blog-reading-list] - saved posts
Section titled “[bp-member-blog-reading-list] - saved posts”The posts a member saved with the bookmark button. See Claps and the Reading List.
| Attribute | Default | Description |
|---|---|---|
per_page |
12 |
Posts per page, 1 to 50 |
columns |
3 |
Grid columns, 1 to 4 |
user |
0 |
0 means the signed-in member. Another member’s list is shown only to users who can edit others’ posts (editors and administrators); anyone else sees nothing. |
load_more |
no |
Show a Load more button |
class |
(empty) | Extra CSS class on the wrapper |
A signed-out visitor sees “Your reading list” with a Log in button.
[bp-member-blog-following] - following feed
Section titled “[bp-member-blog-following] - following feed”New posts by the writers and topics the signed-in member follows. See Following and the Digest Email.
| Attribute | Default | Description |
|---|---|---|
count |
10 |
Posts per page, 1 to 50 |
columns |
2 |
Grid columns, 1 to 4 |
load_more |
no |
Show a Load more button |
class |
(empty) | Extra CSS class on the wrapper |
| Situation | What shows |
|---|---|
| Follow writers feature is off | “Not available right now”. Administrators also see which switch to turn on, with a link to the Features tab |
| Signed out | “Your reading feed” with a Log in button |
| Follows nobody | “Your feed is empty” |
| Follows people, nothing new | “Nothing new yet” |
[bp-member-blog-authors] - writer directory
Section titled “[bp-member-blog-authors] - writer directory”Members who have published posts, as cards with avatar, name and post count. Signed-in members also get a Follow button on each card while the Follow writers feature is on.
| Attribute | Default | Description |
|---|---|---|
count |
10 |
Writers per page, 1 to 50 |
columns |
4 |
Grid columns, 1 to 6 |
show_avatar |
yes |
Show the avatar |
show_count |
yes |
Show the number of posts |
show_bio |
no |
Show the biography from the member’s WordPress profile |
avatar_size |
80 |
Avatar size in pixels, 32 to 200 |
orderby |
post_count |
post_count, name or recent (most recently published first) |
order |
DESC |
ASC or DESC |
role |
(empty) | Only writers with this WordPress role, for example author |
load_more |
no |
Show a Load more button |
class |
(empty) | Extra CSS class on the wrapper |
[bp-member-blog-authors count="12" columns="3" show_bio="yes"][bp-member-blog-categories] - categories
Section titled “[bp-member-blog-categories] - categories”The categories members write in, linked to their archives.
| Attribute | Default | Description |
|---|---|---|
style |
cloud |
cloud, list or grid |
count |
20 |
How many categories, 1 to 100 |
show_count |
yes |
Show the number of posts in each |
orderby |
count |
count, name or id |
order |
DESC |
ASC or DESC |
hide_empty |
yes |
Leave out categories with no posts |
exclude |
(empty) | Comma-separated category IDs to leave out |
parent |
(empty) | Only the child categories of this category ID |
class |
(empty) | Extra CSS class on the wrapper |
[bp-member-blog-categories style="list" orderby="name" order="ASC"]Common page recipes
Section titled “Common page recipes”| Page | Shortcodes |
|---|---|
| Community homepage | [bp-member-blog-featured title="Editor's picks"] then [bp-member-blog-recent count="9" load_more="yes"] |
| Blog archive with search | [bp-member-blog-recent show_search="yes" show_filter="yes" count="12"] |
| Trending sidebar | [bp-member-blog-popular timeframe="week" count="5" columns="1" show_excerpt="no"] |
| Writers directory | [bp-member-blog-authors count="24" columns="4" load_more="yes"] |
| Topics page | [bp-member-blog-categories style="grid"] |
| Curated topic landing page | [bp-member-blog-topic category="travel"] |
| Member reading pages | [bp-member-blog-reading-list] on a “Saved” page, [bp-member-blog-following] on a “Following” page |
| One writer’s column | [bp-member-blog-list user_id="12" count="6" columns="2" load_more="yes"] |
To add a shortcode to every member post automatically (before or after the content or excerpt), use Shortcode Areas.

