Output your WordPress Blogroll links to any Page or Post with a simple shortcode. No custom templates needed — just add [wp-blogroll] and you're done.
WP Render Blogroll Links outputs your WordPress Blogroll links to any Page or Post. Simply add [wp-blogroll] and all your WordPress Links/Blogrolls will be rendered — no custom templates required.
Just add [wp-blogroll] to any page or post
Style with CSS and configure with 20+ parameters
Fully updated and compatible with modern PHP and WordPress
rel attributes for SEO (e.g., nofollow, external)showhide[wp-blogroll] to the contentwp-render-blogroll-links.zipWP-Render-Blogroll folder to /wp-content/plugins/Once activated, you can find the plugin settings and documentation at Settings → WP Blogroll Links. This page includes a built-in parameter reference and a handy "Add to Blogroll" bookmarklet.
Add this shortcode to any page or post to render all your Blogroll links:
[wp-blogroll]
Customize the output with any combination of parameters:
[wp-blogroll catname=News]
[wp-blogroll catname="Social Media"]
[wp-blogroll catid=39]
[wp-blogroll limit=2 orderby=name order=ASC excludecat=4,5]
| Parameter | Options | Description |
|---|---|---|
catid |
ID(s) | Show only specific categories by ID. Example: [wp-blogroll catid=12] or [wp-blogroll catid=39,37] |
catname |
Name(s) | Show only specific categories by name. Wrap names with spaces in quotes. Example: [wp-blogroll catname="Social Media"] |
excludecat |
ID(s) | Exclude categories by ID. Comma-separated for multiple. Example: [wp-blogroll excludecat=34,35] |
orderby |
id, url, name, target, description, owner, rating, updated, rel, notes, rss, length, rand | Sort order for links within categories. Default: name |
order |
ASC, DESC | Link sort direction. Default: ASC |
catorderby |
id, name, count, slug, term_group | Sort order for categories. Default: name |
catorder |
ASC, DESC | Category sort direction. Default: ASC |
limit |
n | Limit number of links per category. Example: [wp-blogroll limit=20] |
showdesc |
0 or 1 (Default: 0) | Show the description text for each link |
showcatdesc |
0 or 1 (Default: 0) | Show the description set for each category under its title |
notitle |
0 or 1 (Default: 0) | Remove category titles from the output |
showbrk |
0 or 1 (Default: 0) | Add a line break between the link and its description |
showdash |
0 or 1 (Default: 0) | Add a dash ( – ) between the link and its description |
show_images |
0 or 1 (Default: 1) | Show link images. Set to 0 to hide all images |
always_show_names |
0 or 1 (Default: 0) | Show link titles even when images are displayed |
show_names_under_images |
0 or 1 (Default: 0) | Place link titles under images (use with always_show_names=1) |
show_rss |
0 or 1 (Default: 0) | Show RSS feed icons for links that have RSS feeds defined |
rss_image |
Relative path | Custom icon for RSS links. Default: /wp-includes/images/rss.png |
forcerel |
Relationship string | Force a rel attribute on all links. Example: [wp-blogroll forcerel=external] |
linkclass |
CSS class name | Set a custom CSS class on all link elements. Example: [wp-blogroll linkclass=blue] |
showhide |
0 or 1 (Default: 0) | Keep links hidden until the category title is clicked |
livelinks |
0 or 1 (Default: 0) | Enable Live Blogroll plugin support |
// All links in the "News" category
[wp-blogroll catname=News]
// All links in "Social Media" category (name with spaces)
[wp-blogroll catname="Social Media"]
// All links in category ID 39
[wp-blogroll catid=39]
// All links in categories 39 and 37
[wp-blogroll catid=39,37]
// Show all categories except IDs 34 and 35
[wp-blogroll excludecat=34,35]
// Show link descriptions next to links
[wp-blogroll showdesc=1]
// Show link descriptions under links
[wp-blogroll showdesc=1 showbrk=1]
// Show descriptions with a dash separator
[wp-blogroll showdesc=1 showdash=1]
// Show category descriptions under titles
[wp-blogroll showcatdesc=1]
// Remove category titles entirely
[wp-blogroll notitle=1]
// Limit to 5 links per category, sorted by name descending
[wp-blogroll limit=5 orderby=name order=DESC]
// Order categories by count, ascending
[wp-blogroll catorderby=count catorder=ASC]
// Show random links, 3 per category
[wp-blogroll limit=3 orderby=rand]
// Hide all link images
[wp-blogroll show_images=0]
// Show link names next to images
[wp-blogroll always_show_names=1]
// Show link names under images
[wp-blogroll always_show_names=1 show_names_under_images=1]
// Show RSS feed icons
[wp-blogroll show_rss=1]
// RSS icons with a custom image
[wp-blogroll show_rss=1 rss_image=/wp-includes/images/wlw/wp-icon.png]
// Force rel="external" on all links
[wp-blogroll forcerel=external]
// Force rel="nofollow external" on all links
[wp-blogroll forcerel="nofollow external"]
// Collapsible categories (click to show/hide)
[wp-blogroll showhide=1]
// Set custom CSS class on links
[wp-blogroll linkclass=my-custom-link]
// Kitchen sink example
[wp-blogroll limit=10 orderby=name order=ASC showdesc=1 showbrk=1 showcatdesc=1 forcerel=nofollow excludecat=2]
The plugin output uses semantic HTML classes that make it easy to style with CSS.
<li id="linkcat-{id}" class="linkcat">
<h2 class="linkcattitle">Category Name</h2>
<p class="catdescription">Category description</p>
<div id="catid{id}">
<ul class="xoxo blogroll">
<li><a href="..." class="brlink">Link Name</a></li>
</ul>
</div>
</li>
| Class | Element | Description |
|---|---|---|
.linkcat |
Container | Wrapper DIV for each category and its links |
.linkcattitle |
Heading | Category title heading element |
.catdescription |
Paragraph | Category description (when showcatdesc=1) |
.xoxo.blogroll |
List | The unordered list containing links |
.brlink |
Anchor | Individual link elements (default class) |
.linkfeedurl |
Anchor | RSS feed link (when show_rss=1) |
/* Style the category containers */
.linkcat {
margin-bottom: 2rem;
padding: 1.5rem;
background: #f8f9fa;
border-radius: 8px;
}
/* Style category titles */
.linkcattitle {
color: #333;
border-bottom: 2px solid #4facfe;
padding-bottom: 0.5rem;
}
/* Style the links */
.xoxo.blogroll li {
padding: 0.25rem 0;
}
.xoxo.blogroll a {
color: #4facfe;
text-decoration: none;
transition: color 0.2s;
}
.xoxo.blogroll a:hover {
color: #007bff;
}
catid or catname parameter. For example: [wp-blogroll catname=News] or [wp-blogroll catid=39]. For category names with spaces, wrap in quotes: [wp-blogroll catname="Social Media"]. You can also specify multiple IDs: [wp-blogroll catid=39,37].
catid and catname simultaneously.
showdesc=1 to show descriptions as plain text next to each link. Use showbrk=1 to put descriptions on a new line beneath the link, or showdash=1 to separate them with a dash.
[wp-blogroll showdesc=1][wp-blogroll showdesc=1 showbrk=1][wp-blogroll showdesc=1 showdash=1]limit parameter to cap the number of links per category. For example, [wp-blogroll limit=5] shows a maximum of 5 links per category.
notitle=1 to remove all category titles from the output.
Example: [wp-blogroll notitle=1]
forcerel parameter to override the rel attribute on all links.
[wp-blogroll forcerel=nofollow][wp-blogroll forcerel="nofollow external"]always_show_names=1 to display link names alongside their images. Add show_names_under_images=1 to place the names under the images instead of next to them.
[wp-blogroll always_show_names=1][wp-blogroll always_show_names=1 show_names_under_images=1][wp-blogroll show_images=0]show_rss=1 to display RSS icons next to links that have RSS feeds defined. You can customize the icon with the rss_image parameter.
[wp-blogroll show_rss=1][wp-blogroll show_rss=1 rss_image=/wp-includes/images/wlw/wp-icon.png]livelinks=1 to enable Live Blogroll integration.
Example: [wp-blogroll livelinks=1]
.linkcat DIV and all links have the .brlink class (or your custom linkclass).
WP-Render-Blogroll.php directly — but note your changes will be lost on updates.
Download the plugin and start rendering your Blogroll links on any page or post today.
Download Plugin v3.0.0