WP Manifestindependent plugin directory
manifest / media / wp-vincula

Vincula – Blogroll Friend Links

Manage blogroll friend links in WordPress: a dedicated post type, a responsive [vincula] shortcode card grid, favicon fallback, priority ordering, quick edit, and CSV import/export.

★ 1stars
v1.0.1latest · 1d ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/victorcartesius/wp-vincula/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Vincula

Blogroll friend links for WordPress: curate entries in the admin and render them anywhere with a single shortcode.

  • Plugin slug: vincula
  • Version: 1.0.0
  • Author: Victor Cartesius
  • Text domain: vincula
  • License: MIT

Features

  • Dedicated link management — registers a custom post type (vinculum) with its own admin menu, keeping friend links separate from posts and pages.
  • Shortcode rendering — drop [vincula] into any shortcode-aware area to output a card grid.
  • Custom logos — paste an image URL or pick one straight from the WordPress media library (wp.media).
  • Automatic fallback — links without a logo fall back to the target site's favicon.
  • Priority ordering — assign each link a numeric weight; lower numbers appear first.
  • At-a-glance admin list — extra Priority, URL, and Logo columns on the link list screen.
  • CSV import / export — move the whole list in and out of the site from a single screen.
  • Quick edit — change URL, logo, priority and description straight from the list screen, without opening the editor.
  • Responsive by default — two columns on desktop, single column below 600px.
  • No dependencies, no configuration — activate and go; styles ship with the shortcode output.

Requirements

Item Requirement
WordPress 5.0 or later
PHP 7.0 or later
Browser Any modern browser with CSS Flexbox and -webkit-line-clamp support

The media library uploader depends on wp.media and is only enqueued on vinculum edit screens.


Installation

From the admin dashboard

  1. Compress the vincula folder into a .zip archive.
  2. In your site admin, go to Plugins → Add New → Upload Plugin, choose the archive, and install it.
  3. Click Activate Plugin.

Manually via FTP / file manager

  1. Upload the entire vincula folder to wp-content/plugins/.
  2. Go to Plugins in the admin and activate Vincula.

The plugin flushes rewrite rules on both activation and deactivation.


Usage

1. Add a friend link

Once activated, a Vincula menu appears in the admin sidebar (position 80, dashicons-networking icon). The list screen itself is titled Friend Links.

Click Add New Friend Link and fill in:

Location Field Required Description
Title field Title Yes Site name shown on the card
Editor Content No Short description; truncated to two lines on the front end
Meta box URL URL Yes Full address including https://; links without it are skipped
Meta box Logo Logo URL No Paste a URL or click Upload Image to pick from the media library; falls back to the favicon when empty
Sidebar Priority Priority No Integer, defaults to 0; lower numbers appear first

Once saved, the list screen shows the extra Priority, URL, and Logo columns for quick review.

2. Display them on the front end

Insert the shortcode into a page, post, or shortcode block:

[vincula]

Supported locations:

  • Page or post content (block editor or classic editor)
  • Shortcode block in the block editor
  • Text widget in the classic widgets screen
  • Shortcode modules in third-party page builders

A common setup is to create a "Friends" page containing only [vincula] and add it to your navigation menu.

The shortcode currently accepts no attributes — [vincula] is the only supported form. The legacy [friend_cards] alias is still registered so that pages created before the rename keep working.

3. Bulk import and export (CSV)

Go to Vincula → Import / Export.

Export downloads a UTF-8 CSV (with a BOM, so Excel detects the encoding) containing every entry, ordered by priority. Columns:

Column Notes
name Site name.
description Plain text of the editor content.
url Full address including https://.
logo Logo URL; empty means the favicon is used.
priority Integer; lower numbers appear first.
status publish, draft, pending, private or future.

Import accepts the same format. The header row is required but the column order is free — title, link, logo_url, order, post_status and similar aliases are recognised.

  • Rows are matched against existing entries by url.
  • Leave Update entries whose URL already exists unchecked to only add new rows; check it to overwrite name, description, logo, priority and status of matching entries.
  • Rows without a URL are skipped and counted in the report.

After importing, the screen reports how many rows were imported, updated and skipped.

Sample file

A ready-to-edit example ships with the plugin: samples/friend-links-sample.csv. The same file is linked from the Import / Export screen, so you can download it before writing your own.

name,description,url,logo,priority,status
WordPress.org,Official plugin and theme directory,https://wordpress.org,,10,publish
CSS-Tricks,"Articles, demos and screencasts about front-end development",https://css-tricks.com,,20,publish
Smashing Magazine,Design and UX resources,https://www.smashingmagazine.com,https://www.smashingmagazine.com/images/favicon/favicon.png,30,publish
,Name is taken from the URL host when left empty,https://example.org,,40,publish
Example Draft,Hidden from the grid until published,https://example.net,,50,draft

What each row demonstrates:

Row Shows
WordPress.org All six columns filled in.
CSS-Tricks A description containing a comma, wrapped in double quotes.
Smashing Magazine A custom logo URL instead of the favicon.
(empty name) A blank name falls back to the URL host.
Example Draft status set to draft, so the entry stays off the front end.

Two adjacent commas (...,,10,...) mean the column is empty — that is how the logo is left blank above. A field that contains a comma, a double quote or a line break must be wrapped in double quotes, with inner quotes doubled ("").

4. Quick edit

Hover a row on the Friend Links list screen and click Quick Edit. The inline form exposes URL, Logo, Priority and Description next to the usual title and slug fields. Save with Update.

Quick edit relies on the standard save_post flow, which also runs the same capability check as the full editor. The list columns refresh on the next page load.


Markup and styling

The shortcode outputs the following structure, so you can override styles with your own selectors:

<div class="vincula-grid">
  <div class="vincula-item">
    <a class="vincula-link" href="..." target="_blank" rel="noopener">
      <img class="vincula-icon" src="..." alt="Site name" loading="lazy">
      <span class="vincula-name">Site name</span>
      <span class="vincula-desc">Site description</span>
    </a>
  </div>
  <!-- ... -->
</div>
Class Purpose
.vincula-grid Cards container; flex layout with a 20px gap
.vincula-item Individual card; 50% width by default
.vincula-link Inner link; stacks content vertically and centers it
.vincula-icon Circular 72 × 72 logo
.vincula-name Bold site name
.vincula-desc Site description, clamped to two lines

Styles are printed as an inline `

Releases

2 releases.

Tag
Published
v1.0.1 latest
Oct 18, 2026 1d ago
Oct 18, 2026 1d ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.