
NewsPulse is a complete live-news toolkit for WordPress. It adds scrolling news tickers, breaking-news alerts, a featured-story panel, real-time live blogs, latest-news lists and external RSS feeds to any site — no WebSocket, no API keys and no paid service required. WHAT IS INCLUDED
- The installable plugin (one ZIP): tickers, breaking news, featured story, live blogs, latest-news lists, RSS news, four Gutenberg blocks, four shortcodes and four Elementor widgets.
- Documentation inside the ZIP (documentation.md plus readme.txt with the full changelog), covering installation, every feature, settings, shortcodes, blocks, Elementor, import/export, troubleshooting and support.
- No sample or demo content is bundled: activation only creates the plugin’s database tables, capabilities and scheduled tasks. Your site’s own posts and pages supply all content, and the built-in Tools > Import accepts the plugin’s own JSON export (tickers and breaking news; live updates are export-only).
INSTALLATION AND FIRST USE
- In WordPress go to Plugins > Add New > Upload Plugin, choose the ZIP and click Install Now, then Activate. (Or unzip and upload the `newspulse` folder to `/wp-content/plugins/` and activate it from the Plugins list.)
- Open NewsPulse > Dashboard and follow the 3-step Setup Wizard, which creates your first ticker.
- Create a ticker under NewsPulse > Tickers, then show it with its shortcode (`[newspulse_ticker id=”123″]`), the NewsPulse Ticker block, or the Elementor widget — or let it place itself automatically (top, bottom or floating) under Settings > Display.
- For a live blog, edit any published post, enable the live blog in the NewsPulse panel, set its status to Live, and add updates; readers see new updates appear automatically by polling.
- Breaking news lives under NewsPulse > Breaking News; RSS feeds under NewsPulse > RSS Sources (add any public RSS or Atom feed URL).
INTEGRATION REQUIREMENTS
- WordPress 6.5 or later and PHP 8.1 or later. MySQL 5.7+ or MariaDB 10.4+.
- Gutenberg blocks work in the block editor; shortcodes work in the Classic Editor and anywhere shortcodes run; Elementor widgets appear only when Elementor is installed and active.
- Live polling uses the WordPress REST API (`/wp-json/newspulse/v1/`), so the REST API must be reachable on your site. No WebSocket server is needed.
- Works with any theme; no theme files are modified.
EXTERNAL FEEDS
- RSS sources fetch public RSS/Atom feeds server-side on a schedule and show their headlines in tickers, with links out to the original source. Only public feeds are supported; feeds that need a login or an API key will not load. No feed content is copied into your posts.
PAID SERVICES
- None are required. Every feature works out of the box with no API key, no account and no subscription of any kind.
FEATURED STORY PANEL
- The featured panel is delivered through a featured-layout ticker: create a ticker, set its Layout to Featured, and it renders the red featured panel with its headline strip. The default headline, subtitle, link and panel colours come from NewsPulse > Featured Story; a ticker’s own panel colours override those defaults when set.
SUPPORT
- Support is provided through the WPBay Support System on this listing, or by email at [email protected]. Please include the plugin version, your WordPress and PHP versions, the page URL, reproduction steps and any error text or screenshot.
Changelog:
= 1.8.29 (2026-11-11) = * Fixed: the classic metabox "Add update" form did not clear after saving in the block editor. The sidebar form clears itself on a successful save, but the metabox fields are plain HTML inputs, so after a background save — the block editor never reloads the page — the old title and content stayed in the boxes and the editor had to refresh the browser to add another update. The form now clears itself after a successful post save: the title and content are emptied and Priority returns to normal with Pinned and Save as draft unchecked. It never clears on an autosave (no update is created then, so clearing would lose in-progress text), never clears when the save fails, and never clears text typed after the save started. * Fixed: live updates were numbered 1, 2, 3, which read as a ranking and confused readers. Each update now has a red dot on the timeline instead. The plugin already asked browsers to hide the numbers, but theme stylesheets overrode that rule, so the numbers still showed; the hiding rule is now strong enough to beat theme CSS, and a brand-red dot marks every update, pinned or not. * Fixed: a stalled poll request could stop live updates from appearing on an already-open post. The poll had no timeout, so a request that never returned left the loop with nothing scheduled and no way to resume — only a page reload recovered it. Poll requests now time out after 20 seconds (twice the default 10-second poll interval, long enough for slow-but-alive responses) and the loop backs off and retries instead of wedging. * Fixed: the "Show in global ticker" field in the NewsPulse Live Blog sidebar had no explanation, so it looked like an unnamed empty box. It now shows help text under the field — "Ticker ID, or "all" — leave blank for article only" — the same wording as the metabox placeholder. * No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.28 runs no migration.
= 1.8.28 (2026-11-10) =
* Fixed: catch-up polling could retain updates withdrawn between fetched pages. The drain collects fetched rows into pending rows, but reconciliation only re-fetched rows already in the DOM and the drain's latest revision was adopted before the pending rows were inserted — so a row deleted, unpublished, edited or pinned between two drain pages was inserted stale and never corrected, because the next poll saw no revision change. The revision of the first drain page is now compared with the last page's revision; when they differ, the pending ids are re-fetched through the ids endpoint (bounded batches of 100), ids absent from the answer are dropped, and the survivors are replaced with their fresh copies — before the revision is adopted and before the rows are inserted. When the revisions agree there is nothing to re-synchronize, so no extra request is made. If the re-synchronization fetch itself fails, the rows are inserted as fetched but the conservative first-page revision is adopted instead, so the next poll reconciles and corrects them. Cursor progress, canonical ordering and deduplication are preserved.
* No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.27 runs no migration.
= 1.8.27 (2026-11-10) =
* Fixed: the 'Load older updates' button showed no visible text on some themes. The button set a white background but no text colour, so a theme that styles buttons with white text left the label invisible. The button is now a modern news-style load-more bar — solid brand-red background with explicit white bold text, full-width with centred text, rounded corners and a darker hover state — so the label is clearly visible on any theme.
* No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.26 runs no migration.
= 1.8.26 (2026-11-10) =
* Fixed: reconciliation no longer appends restored rows after concurrently loaded archive rows. At commit time the reconciled rows are merged with any rows added since the snapshot — archive rows that completed while the reconciliation batches were in flight — deduplicated by id (the fresh reconciled copy wins), and the complete surviving timeline is sorted canonically before committing, so every published update appears exactly once, pinned-first and chronologically ordered, in both timeline orders, with multiple reconciliation batches, pin changes, and caching on or off. Deduplication and the independent archive traversal cursor are preserved: the walk still advances its stored cursor only from its own fetch results, never from the DOM.
* No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.25 runs no migration.
= 1.8.25 (2026-11-10) =
* Fixed: new pinned updates were inserted twice during polling. The poll drain's fetch-time dedupe ran before reconciliation and pinned-row surfacing, so a newly published pinned update was surfaced into the pinned group from the poll response's pinned_ids and then inserted a second time from the pending rows. Pending updates are now deduplicated against the current timeline at insert time — after reconciliation and pinned-row surfacing — and the survivors are merged one by one in canonical pinned-first order (the same canonical merge the archive walk uses). Both insert paths now check the DOM at insert time, so an asynchronous archive insertion cannot create the same duplicate in either direction either. Every published update appears exactly once after multiple polls, in both timeline orders, with caching on or off, with several pinned updates at once, with pinning before polling completes, and with archive loading during reconciliation.
* No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.24 runs no migration.
= 1.8.24 (2026-11-09) =
* Fixed: unpinning a displayed update could still make archive pagination skip unseen updates. Archive coverage is now tracked independently of mutable DOM ordering: the Load-older walk always starts from the chronological beginning (no cursor) on its first click, and its stored cursor is advanced only by the walk itself, from the last row the server returned. The previous walk read its starting coverage from the live DOM at click time, so unpinning the oldest displayed row before the first click left a non-pinned row at the chronological extreme and the walk fetched before=<oldest row>, which returned nothing and stranded the newer unpinned rows. Already-displayed rows are still deduped and merged into canonical pinned-first order, so loading the complete archive yields every published update exactly once, in both timeline orders, with caching on or off, and with pin changes, deletions and reconciliation before or during traversal.
* No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.23 runs no migration.
= 1.8.23 (2026-11-09) =
* Fixed: archive pagination no longer skips updates when the initial page contains only pinned rows. The Load-older walk never treats a pinned row as the chronological coverage boundary: when no non-pinned row is displayed, the first click starts the walk from the chronological beginning (no cursor — the server returns the first page in strict chronological order, pinned rows included in their chronological positions) instead of fetching before=<oldest pinned>, which returned nothing and stranded newer unpinned rows. Returned rows are merged into canonical pinned-first order — every row is inserted before the first displayed row it sorts ahead of (a pinned row lands in the pinned group, an unpinned row in the chronological tail), so the merged timeline stays canonical even when a pin change during pagination has moved a displayed row — and rows already displayed are never added twice, so loading the complete archive yields every published update exactly once, in both timeline orders and with caching on or off. Works with auto-refresh enabled and disabled.
* No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.22 runs no migration.
= 1.8.22 (2026-11-08) =
* Fixed: live reconciliation no longer ignores displayed updates after the first 100. When a reader tab sees a newer revision it now re-fetches EVERY row it displays — in bounded batches of 100 update ids via the `ids` parameter (the server still caps each request at 100) — merges all batches into one canonical order (pinned first, then published time and id per the timeline's order setting) and replaces the whole displayed range in place, so edits, deletes, unpublishes and pin/unpin changes on rows beyond the first 100 reconcile automatically, in both timeline orders and with caching on or off. Nothing is rendered until every batch has succeeded; if any batch fails, the tab leaves the displayed rows untouched and keeps the old revision, so the next poll retries the whole reconciliation. The reader's revision advances only after the complete reconciliation succeeds.
* Fixed: archive pagination (Load older updates) no longer skips a row after a delete. Pages are now anchored on the last displayed row's compound cursor (stored UTC publish time + id) instead of OFFSET page numbers — 'latest' pages fetch older rows with `before`, 'oldest' pages fetch newer rows with `after` — so a row deleted from an already-loaded page can no longer shift the boundary; rows already displayed are never duplicated. The first page is unchanged.
* Fixed: public JavaScript and stylesheet are now versioned by each file's modification time instead of by the plugin version alone, so a rebuilt file gets a fresh URL even when the plugin version is unchanged. Versioning by the plugin version only left browsers serving a cached copy after a same-version reinstall (hosts/CDNs commonly send a multi-day max-age for these files), which once made a live verification run the previous build's OFFSET pagination instead of the cursor pagination above.
* No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.21 runs no migration.
= 1.8.21 (2026-11-08) =
* Fixed: a row pinned after a reader tab loaded now appears in that tab's pinned group without reloading, even when the row was never in the tab's visible window. Each poll response now also carries `pinned_ids` (the ids of the post's currently pinned, published updates, in canonical display order); when a tab sees a newer revision it fetches any pinned id it does not already display (at most 100 rows, via the `ids` parameter) and inserts it into the pinned group in canonical order, in both timeline orders and with caching on or off. Displayed-row reconciliation is unchanged.
* No database change: NEWSPULSE_DB_VERSION stays 1.1.0, so upgrading from 1.8.20 runs no migration.
Only logged in customers who have purchased this product may leave a review.
Support by DigiLink
DigiLink supports this product through WPBay
Questions are handled in WPBay's private ticket system, keeping your purchase details and support conversation together.
After purchase, open this item in My Downloads and choose Get Support.
What support includes
- Answers to product-related questions
- Help with reported bugs and issues
- Guidance for included third-party assets
What support does not include
- Customizations or new features
- Installation or setup services
Maintenance snapshot
See recent updates, compatibility, support, and developer activity.
- Updated today
- Developer active recently
- WPBay support available
- WordPress 7.1 tested
Snapshot updated 3 hours ago
View details Hide details
Maintenance details
This is maintenance data. It does not measure product quality or sales.
- Last update Updated today
- Compatibility WordPress 7.1 tested · PHP 8.5 tested
- Releases 18 releases in the 7 days since listing
- Developer activity Developer active recently
- Support No recent support tickets to measure
- Docs and demo Documentation available · Changelog available · Demo available
Health remained stable during the last 90 days.
How this snapshot works
Plugin Health
The score is out of 100 and uses data WPBay can check. Ratings, popularity, and sales are not used.
- Last update 30 points
-
Plugins receive full recency points under 30 days, then step down at 90, 180, 365, and 545 days.
- Compatibility 20 points
-
WordPress, PHP, and WooCommerce (when relevant) are scored separately. The latest two PHP lines count as current. Nearby previous versions keep most of the points.
- Current version 100%
- One version behind 75%
- Two versions behind 50%
- Three versions behind 25%
- Older or not listed 0%
- Releases 15 points
-
One release earns 10, two or three earn 13, and four or more earn 15. Each accepted product ZIP counts once; reprocessing the same upload and listing-only edits do not count.
- Developer activity 15 points
-
Based on WPBay login and dashboard activity. Exact last-login dates are never shown.
- Support 15 points
-
There are no recent WPBay tickets to measure.
- Docs and demo 5 points
-
Documentation: 2. Changelog: 1. Working demo or preview: 2.
Score ranges
- 90–100 Excellent
- 75–89 Healthy
- 60–74 Fair
- 40–59 Needs attention
- 0–39 Limited
Long gaps
WPBay also checks for long gaps between updates, developer activity, support replies, and releases. Buyers do not see this score.
- Time since update 35 points
- Last developer activity 25 points
- WordPress compatibility 15 points
- Support replies 15 points
- Fewer releases 10 points

Reviews
There are no reviews yet.