WP Render Blogroll Links

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.

Overview

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.

Note: Originally developed by Tanin Ehrami, now maintained by Douglas LaMar – Sensible Websites. Updated for WordPress 6.x+ and PHP 8.4.
Simple Shortcode

Just add [wp-blogroll] to any page or post

Fully Customizable

Style with CSS and configure with 20+ parameters

PHP 8.4 Ready

Fully updated and compatible with modern PHP and WordPress

Features

  • Render all Blogroll links with a single shortcode
  • Filter by category name or ID
  • Order links and categories in any direction
  • Show/hide link descriptions and category descriptions
  • Limit number of links per category
  • Exclude specific categories
  • Force rel attributes for SEO (e.g., nofollow, external)
  • Show/hide link images and link names
  • Display RSS feed icons for links with RSS feeds
  • Click-to-expand category groups with showhide
  • Compatible with the Live Blogroll plugin
  • Built-in admin settings page with documentation

Getting Started

Prerequisites: WordPress 2.8+, PHP 8.0+ (PHP 8.4 recommended). The Links Manager must be enabled.

Quick Start

  1. Install and activate the plugin
  2. Add some links via Links → Add New in the WordPress admin (or ensure you have existing Blogroll links)
  3. Create or edit a Page or Post
  4. Add [wp-blogroll] to the content
  5. Publish and view your links page!
Note: The WordPress Links Manager was hidden by default in WordPress 3.5+. If you don't see the Links menu, install the Link Manager plugin to restore it.

Installation

Method 1: WordPress Admin (Recommended)

  1. Download wp-render-blogroll-links.zip
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin
  3. Choose the zip file and click Install Now
  4. Click Activate Plugin

Method 2: Manual Installation

  1. Extract the zip file
  2. Upload the WP-Render-Blogroll folder to /wp-content/plugins/
  3. Activate the plugin through the WordPress admin Plugins page

Admin Settings

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.

Shortcode Usage

Basic Usage

Add this shortcode to any page or post to render all your Blogroll links:

[wp-blogroll]

With Parameters

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]

Parameters Reference

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

Examples

Category Filtering

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

Descriptions & Formatting

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

Ordering & Limiting

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

Images & RSS

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

SEO & Advanced

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

CSS Styling

The plugin output uses semantic HTML classes that make it easy to style with CSS.

HTML Structure

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

CSS Classes

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)

Example Styles

/* 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;
}

Frequently Asked Questions

Use the 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].

Tip: It is not advisable to use both catid and catname simultaneously.

Add 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.

Examples:
  • Descriptions next to links: [wp-blogroll showdesc=1]
  • Descriptions under links: [wp-blogroll showdesc=1 showbrk=1]
  • With dash separator: [wp-blogroll showdesc=1 showdash=1]

Use the limit parameter to cap the number of links per category. For example, [wp-blogroll limit=5] shows a maximum of 5 links per category.

Yes! Use notitle=1 to remove all category titles from the output. Example: [wp-blogroll notitle=1]

Use the forcerel parameter to override the rel attribute on all links.

Examples:
  • [wp-blogroll forcerel=nofollow]
  • [wp-blogroll forcerel="nofollow external"]

Use 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.

Examples:
  • Names next to images: [wp-blogroll always_show_names=1]
  • Names under images: [wp-blogroll always_show_names=1 show_names_under_images=1]
  • Hide all images: [wp-blogroll show_images=0]

Use 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.

Examples:
  • Show RSS icons: [wp-blogroll show_rss=1]
  • Custom RSS icon: [wp-blogroll show_rss=1 rss_image=/wp-includes/images/wlw/wp-icon.png]

Yes! Simply add livelinks=1 to enable Live Blogroll integration. Example: [wp-blogroll livelinks=1]

Option 1: Use CSS to style the output. Each category is wrapped in a .linkcat DIV and all links have the .brlink class (or your custom linkclass).

Option 2: Edit WP-Render-Blogroll.php directly — but note your changes will be lost on updates.

Option 3: Contact the maintainer to request new features or customization options.

Changelog

v3.0.0 Latest
  • Updated for WordPress 6.x+
  • Full PHP 8.4 compatibility
  • Codebase modernization and cleanup
v2.1.8
  • Image URL bugfix
v2.1.7
  • Showdash/Showbrk bugfix
v2.1.6
  • Added showdash option
v2.1.5
  • Minor bugfix for Live Blogroll users
v2.1.3 – 2.1.4
  • Officially supporting WordPress 3.0.1
  • Updated documentation for catname
  • Added option for donations
v2.1.1 – 2.1.2
  • Added support for the Live Blogroll plugin
  • Officially supporting WordPress 3.x
  • Removed unused postbox script causing JavaScript errors
v2.0.0 – 2.1.0
  • Added admin page with documentation
  • Show/hide links per click on category
  • Bookmarklet for links
  • Added linkclass support
v1.x.x
  • Added limit support, category descriptions, SEO rel forcing
  • Category ordering and exclusion
  • Show/hide link images and names
  • RSS feed display support
  • Interoperability with plugins like FAVIROLL

Ready to Get Started?

Download the plugin and start rendering your Blogroll links on any page or post today.

Download Plugin v3.0.0