Skip to content

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.

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

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.

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.

[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"]
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"]
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"]

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.

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"]

[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"]

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"]
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.