CountingDownTo (countingdownto.com) is a countdown timer service. This plugin embeds those timers on your WordPress site without copying countdown logic into WordPress.
This plugin relies on the CountingDownTo service. Countdowns are created and hosted on countingdownto.com and shown on your site in an iframe. See External services below for exactly what is sent and when.
What you get
[countingdownto] shortcode for classic themes and page buildersHow it works
Published embeds load an iframe from https://countingdownto.com/w4/{slug}. The timer ticks in the visitor’s browser against an absolute target time, so a cached page stays accurate.
vid cookie from countingdownto.com (not a cookie on your WordPress domain) so the rolling timer continues across visits.Connect your CountingDownTo account under Settings > CountingDownTo to list and insert your own countdowns from the block editor. The connection uses a read-only access token stored only on your WordPress site and never sent to visitors. Uninstalling the plugin deletes that token on the current site; your countdowns stay in your CountingDownTo account.
Source code
The block editor script in build/ is compiled. Its human-readable source is included in the plugin under src/countdown/. To rebuild it, run npm install and then npm run build in the plugin folder (uses @wordpress/scripts).
This plugin connects to CountingDownTo (https://countingdownto.com), a countdown timer service run by the plugin author. It is needed to show countdowns, which are created and hosted there.
[countingdownto] shortcode or the site-wide bar loads an iframe from https://countingdownto.com/w4/{slug} in the visitor’s browser. That request sends the visitor’s IP address, User-Agent and, on HTTPS pages, the referring page URL (referrerpolicy=no-referrer-when-downgrade). Fixed-date embeds set no cookies. Evergreen (rolling) embeds may set a partitioned vid cookie (about 180 days, SameSite=None; Partitioned) on countingdownto.com, not on your WordPress domain.https://countingdownto.com/oembed on the server. The pasted URL is sent.https://countingdownto.com/oembed directly to read the countdown’s size. That request sends the countdown URL plus the editor’s IP address and User-Agent. It is separate from WordPress’s own server-side oEmbed lookup.https://countingdownto.com/w4/{slug} in the editor’s browser. That request sends the editor’s IP address, User-Agent and the referring admin page URL. The block inserter’s example preview is drawn locally and makes no request.https://countingdownto.com/wp-connect with the site’s host name, the plugin’s return URL (redirect_uri), a random state value, and a PKCE code_challenge with code_challenge_method=S256.https://countingdownto.com/api/wp/v1/token. After that it calls https://countingdownto.com/api/wp/v1/* with the stored read-only token to list countdowns and check the account plan. The token is never sent to browsers or visitors.https://countingdownto.com/api/wp/v1/pending for a one-time handoff code (sending the site’s host name) and then checks it every few seconds, for up to 15 minutes, until the new countdown is ready to insert.https://countingdownto.com/c/create-countdown with src=wp, the site’s timezone, locale and host name, plus the starter’s slug (from) for a starter and the handoff code (state) when started from the block.https://countingdownto.com/healthz and the administrator’s browser loads https://countingdownto.com/favicon.ico.Uninstalling deletes the stored token and plugin caches on the current site. Countdowns on CountingDownTo are not deleted.
CountingDownTo terms of use: https://countingdownto.com/terms-of-use
CountingDownTo privacy policy: https://countingdownto.com/privacy-policy