Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📰 PressRise — Press & Media Coverage Manager for WordPress

Manage your Press & Media coverage in WordPress and display it anywhere with a beautiful, theme-proof shortcode grid — search, filters, Load More / pagination, CSV & Excel import, SEO sitemap, and full backups. Zero page-builder required, zero tracking.

WordPress Plugin PHP 7.4+ Requires WP 5.8+ License: GPLv2+ PRs Welcome Maintained by risewithvj Profile Views

Keywords: WordPress Press Coverage Plugin · Media Coverage Manager · "As Featured In" Logo Wall · Press Mentions Grid · News Coverage Shortcode · Press Kit WordPress · Coverage Archive · PR Page Builder · Shadow-DOM Widget · Custom Post Type Alternative


Download the Plugin

Star this repo Report an Issue Email Support


What this is

If your company gets covered in the press and you want a clean "As Featured In" / Media Coverage section on your site — without hand-coding cards or fighting a page builder every time a new article drops — this replaces that entire manual process.

You manage two separate archives (Press Coverage and Media Coverage) from a simple admin dashboard, and drop them anywhere with a shortcode. PressRise does the rest:

  • Renders a responsive card grid (publication logo, source, headline, optional excerpt, date, "Read More")
  • Gives visitors instant search, year/month filters, and Load More or numbered pagination
  • Stays completely isolated from your theme's CSS — it renders inside a Shadow DOM, so nothing breaks and nothing leaks
  • Bulk-imports hundreds of entries from CSV or Excel, and takes full JSON backups
  • Ships a dedicated SEO sitemap that auto-integrates with Yoast / Rank Math, plus Schema.org markup
  • Uses its own fast, indexed database tables — no Custom Post Type bloat, no clutter in Posts
  • 100% self-contained — no external services, no tracking, no phone-home

Preview

Add your own screenshots here once live — a picture converts far better than a wall of text.

Front-end coverage grid Admin dashboard Import screen
add screenshot add screenshot add screenshot

Table of Contents


Features

Feature Details
Two independent archives Separate, independently-configured Press and Media collections
Shortcode display [pressrise type="press"] / [pressrise type="media"] — drop on any page or post
Theme-proof by design The widget renders inside a Shadow DOM, so your theme/page-builder can't break it — and it can't leak styles onto your theme
Live search + filters Search by article/publication, filter by year and month, with a live result count
Load More or Pagination Choose per coverage type; both are AJAX-driven and mobile-friendly
Configurable columns Set the desktop column count (2–6, default 4) per type; tablet/mobile step down automatically
Optional excerpts Toggle short summaries per type; shown only when an entry actually has one
CSV & Excel import Bulk import from .csv or .xlsx with a downloadable template and clear per-row error reporting
Export & full backup Per-type CSV export plus a complete JSON backup/restore of entries and settings
SEO sitemap Auto-hooks into Yoast / Rank Math, or serves a native /pressrise-sitemap.xml, plus Schema.org JSON-LD
Accessible Visible keyboard focus states, ARIA labels, WCAG-AA text contrast, prefers-reduced-motion
Entity-safe storage Import decodes HTML entities and stores raw text, so titles never show literal ' on screen
Fast custom tables Indexed DB tables, paginated queries, cached sitemap — built for large archives
Privacy-first No analytics, no telemetry, no external requests; optional off-by-default credit link

How it works

WordPress Admin  (PressRise dashboard)
      |  (add entries by hand, or bulk-import a CSV / Excel file)
      v
Custom DB tables  (wp_pressrise_press / wp_pressrise_media)   -- no CPT bloat
      |
      +--->  [pressrise type="press"] / [pressrise type="media"]  shortcode
      |             |
      |             v
      |      Shadow-DOM card grid on your page
      |      (search · year/month filters · Load More or pagination)
      |
      +--->  /pressrise-sitemap.xml   (auto-integrates with Yoast / Rank Math)
      +--->  Schema.org JSON-LD on the coverage page

Quick Start

1. Install

  • From the ZIP (recommended): in WordPress go to Plugins → Add New Plugin → Upload Plugin, choose pressrise.zip, click Install Now, then Activate. (Let WordPress unzip it — don't extract it yourself. It installs to wp-content/plugins/pressrise/.)
  • Manual: copy the pressrise folder into wp-content/plugins/ so the path is wp-content/plugins/pressrise/pressrise.php, then activate.

2. Add your coverage

Open PressRise in the admin sidebar → New Press / New Media → fill in publication, headline, date, article URL, and logo URL.

3. Configure display

Go to PressRise → Settings and set, per coverage type: posts per page, excerpts on/off, Load More vs. pagination, desktop columns, and the optional credit link.

4. Embed it

Create or edit a page and paste the shortcode:

[pressrise type="press"]     → your Press Coverage archive
[pressrise type="media"]     → your Media Coverage archive

Publish and view — search, filters and pagination work out of the box.


Shortcodes & Settings

Shortcode Shows
[pressrise type="press"] Press Coverage archive
[pressrise type="media"] Media Coverage archive

There are no shortcode attributes to memorize — everything is configured per type under PressRise → Settings:

Setting What it does
Post Count Entries per page / per Load More click
Enable Excerpts Show a short summary on each card (only when the entry has one)
Pagination Type Load More button, or numbered page navigation
Columns per row (desktop) 2–6 (default 4); tablets/phones step down automatically
Show "Powered by PressRise" credit Optional credit link below the grid — off by default

Bulk import (CSV / Excel)

PressRise → Import → download the Excel/CSV template → fill it in (don't rename the column headers) → upload.

  • Accepts .xlsx and .csv; rows with missing required fields or invalid dates are reported clearly, never silently dropped.
  • Import decodes HTML entities and stores raw text, so a source that already contains ' won't leave encoded gibberish in your database.
  • Already have messy data from an older import? PressRise → Import → Master Export / Backup → "Fix HTML entities in existing entries" cleans it in one click (safe to run more than once).
  • You can also export any type to CSV or take a full JSON backup of everything.

SEO sitemap

PressRise publishes a dedicated coverage sitemap and auto-integrates with Yoast or Rank Math; with neither installed it serves its own at:

https://your-site.com/pressrise-sitemap.xml

Note: the pretty /pressrise-sitemap.xml URL requires pretty permalinks (Settings → Permalinks → any option other than "Plain"). On "Plain" permalinks WordPress can't route the pretty URL, so use the always-working fallback https://your-site.com/?pressrise_sitemap=1.


FAQ & Troubleshooting

The grid looks broken / clashes with my theme
It shouldn't — as of v1.4.0 the widget renders inside a Shadow DOM, which isolates it from the theme in both directions. If you're on an older version, update. If it still looks off, tell me your theme/page builder in an issue.
/pressrise-sitemap.xml returns a 404
This is almost always the site's permalink setting. The pretty URL only works with pretty permalinks (Settings → Permalinks → pick anything except "Plain" → Save). On "Plain" permalinks, use /?pressrise_sitemap=1 instead — it works on any configuration.
Some entries show literal codes like ' instead of an apostrophe
That's HTML-entity text left in the database by an older import. Update the plugin, then run PressRise → Import → Master Export / Backup → "Fix HTML entities in existing entries" once. New imports decode entities automatically.
My grid shows 3 columns on desktop, I want 4 (or 5, or 6)
Set it under PressRise → Settings → Columns per row (desktop) (per coverage type). It renders exactly that many columns regardless of container width.
A card shows the publication name as text instead of a logo
That's the intended fallback — it appears when an entry has no logo URL, or the logo image fails to load. Add a valid Publication Logo URL to the entry to show the image instead.
Does it track me or my visitors?
No. PressRise has no analytics or telemetry and makes no external requests. Updates are delivered through WordPress's own update system.
Will it slow down or clutter my site?
No. It uses its own indexed database tables (not Custom Post Types), so it never touches your Posts admin, its queries are paginated, and its assets load only on pages that actually contain the shortcode.

Tech stack

PHP WordPress JavaScript HTML5 CSS3

  • PHP + WordPress APIs — custom DB tables, AJAX, shortcodes, rewrite rules
  • Vanilla JavaScript (no jQuery on the front end) — Shadow-DOM mount, AJAX search/filter/pagination
  • Pure CSS — isolated inside the shadow root, no framework
  • ZipArchive + SimpleXML — native .xlsx import/export, no external library
  • No build step — plain PHP/CSS/JS; what's in the repo is what runs

Roadmap

  • WordPress.org repository listing (auto-updates + active-install stats)
  • Gutenberg block wrapper for the shortcode
  • Per-entry "featured" flag and a compact logo-wall layout
  • Category/tag taxonomy for coverage
  • Optional, opt-in anonymous usage stats

Have an idea? Open an issue or reach out directly — see below.


Support & Contact

Built and maintained by Vijaya Kumar L

GitHub LinkedIn Email

Found a bug, need help setting this up, or want a custom version for your own site? Reach out — free/community support is via GitHub Issues (and the WordPress.org support forum once listed).

If this saved you time, a star on the repo goes a long way.


License

PressRise is free software, licensed under the GNU General Public License v2.0 or later — the same license WordPress itself uses (a WordPress plugin must be GPL-compatible, so unlike my Apps Script projects this one is GPLv2 rather than MIT). You may use, study, modify and redistribute it under those terms. Full text in LICENSE.


Built for teams who'd rather manage their press coverage in five minutes than rebuild a logo wall by hand.

PressRise — by RiseWithVJ

About

WordPress plugin to manage & display Press Coverage and Media Coverage with beautiful shortcodes. Live search, Year/Month filters, CSV/Excel import, SEO sitemap, Shadow DOM theme isolation. No tracking, no external requests. [pressrise type="press"] / [pressrise type="media"]

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages