{"id":357665,"date":"2026-08-26T14:18:17","date_gmt":"2026-08-26T14:18:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/gobbert-countdown-timer-urgency-bars-pricing-tables\/"},"modified":"2026-08-26T14:18:08","modified_gmt":"2026-08-26T14:18:08","slug":"gobbert-countdown-timer-urgency-bars-pricing-tables","status":"publish","type":"plugin","link":"https:\/\/lin.wordpress.org\/plugins\/gobbert-countdown-timer-urgency-bars-pricing-tables\/","author":23541450,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.7","stable_tag":"1.2.7","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Gobbert Countdown Timer, Urgency Bars & Pricing Tables","header_author":"Gobbert","header_description":"Countdown timers for any deadline: fixed dates, recurring resets, per-visitor evergreen timers and a built-in holiday calendar. Inline, in a sticky urgency bar, or driving pricing tables whose sale prices appear and revert on their own.","assets_banners_color":"f8f9f0","last_updated":"2026-08-26 14:18:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/gobbert.com\/wordpress-plugins\/countdown-scarcity-timers\/","header_author_uri":"https:\/\/gobbert.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.2.7":{"tag":"1.2.7","author":"gobbert","date":"2026-08-26 14:18:08"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3667226,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3667226,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3667226,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3667226,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"gobbert\/countdown":{"name":"gobbert\/countdown","title":"Countdown Timer"}},"tagged_versions":["1.2.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3667226,"resolution":"1","location":"assets","locale":"","width":2880,"height":1868},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3667226,"resolution":"2","location":"assets","locale":"","width":1800,"height":2486},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3667226,"resolution":"3","location":"assets","locale":"","width":2880,"height":2000},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3667226,"resolution":"4","location":"assets","locale":"","width":1800,"height":1298}},"screenshots":{"1":"The four timer styles.","2":"The campaign editor, with a live preview.","3":"The sticky urgency bar on a store page.","4":"WooCommerce placements and the sale coupon."}},"plugin_section":[],"plugin_tags":[11659,4391,4076,179071,286],"plugin_category":[40,45],"plugin_contributors":[275015],"plugin_business_model":[],"class_list":["post-357665","plugin","type-plugin","status-publish","hentry","plugin_tags-countdown","plugin_tags-pricing-table","plugin_tags-timer","plugin_tags-urgency","plugin_tags-woocommerce","plugin_category-calendar-and-events","plugin_category-ecommerce","plugin_contributors-gobbert","plugin_committers-gobbert"],"banners":{"banner":"https:\/\/ps.w.org\/gobbert-countdown-timer-urgency-bars-pricing-tables\/assets\/banner-772x250.png?rev=3667226","banner_2x":"https:\/\/ps.w.org\/gobbert-countdown-timer-urgency-bars-pricing-tables\/assets\/banner-1544x500.png?rev=3667226","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/gobbert-countdown-timer-urgency-bars-pricing-tables\/assets\/icon-128x128.png?rev=3667226","icon_2x":"https:\/\/ps.w.org\/gobbert-countdown-timer-urgency-bars-pricing-tables\/assets\/icon-256x256.png?rev=3667226","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/gobbert-countdown-timer-urgency-bars-pricing-tables\/assets\/screenshot-1.png?rev=3667226","caption":"The four timer styles."},{"src":"https:\/\/ps.w.org\/gobbert-countdown-timer-urgency-bars-pricing-tables\/assets\/screenshot-2.png?rev=3667226","caption":"The campaign editor, with a live preview."},{"src":"https:\/\/ps.w.org\/gobbert-countdown-timer-urgency-bars-pricing-tables\/assets\/screenshot-3.png?rev=3667226","caption":"The sticky urgency bar on a store page."},{"src":"https:\/\/ps.w.org\/gobbert-countdown-timer-urgency-bars-pricing-tables\/assets\/screenshot-4.png?rev=3667226","caption":"WooCommerce placements and the sale coupon."}],"raw_content":"<!--section=description-->\n<p>Fixed-date, holiday, recurring and evergreen timers; a sticky bar across the top or bottom of the\nscreen; WooCommerce product, cart and checkout timers with coupon expiry; and pricing tables whose\nsale prices switch themselves on and off with a timer. Everything described here is included.<\/p>\n\n<p>One timer engine drives every placement, so you learn it once and put it anywhere: inline in a post,\nin a sticky bar across the top or bottom of the screen, on a WooCommerce product page, in the cart,\nand at checkout.<\/p>\n\n<h4>Four kinds of timer<\/h4>\n\n<p><strong>Fixed date.<\/strong> One real deadline, the same moment for every visitor, in your site's timezone, so a\nsale that ends at midnight ends at <em>your<\/em> midnight.<\/p>\n\n<p><strong>Holiday sales.<\/strong> One timer for your whole sale year. It counts down to each occasion by itself,\nforever, and shows nothing in between.<\/p>\n\n<p><strong>Recurring.<\/strong> Resets on a schedule (hourly, daily, weekly or monthly) for a standing weekly offer.<\/p>\n\n<p><strong>Evergreen.<\/strong> A personal deadline for each visitor, starting when they first arrive and remembered\non their own device. You choose when it appears (straight away, after they have been reading a\nwhile, or when they come back) and whether it ever restarts.<\/p>\n\n<h4>A built-in holiday calendar<\/h4>\n\n<p>Pick Black Friday, Cyber Monday, Christmas, New Year, Valentine's, Easter, Halloween, Boxing Day,\nBack to School or Summer, and the dates are worked out for you every year. That includes the awkward\nones: Easter moves with the lunar calendar, and Black Friday is the day after the fourth Thursday of\nNovember, which is not always the last. A holiday campaign stays correct year after year without you\nediting it.<\/p>\n\n<h4>WooCommerce<\/h4>\n\n<p>Show a timer on the product page, in the cart and at checkout. Name a coupon and it is applied while\nthe sale window is open and removed again when the window closes, so an ended sale does not keep\ndiscounting. You can also have a dated timer take away the add-to-cart button when it reaches zero,\nso a real deadline really closes the offer. On a site without WooCommerce the store settings simply\nstay switched off.<\/p>\n\n<h4>Twelve styles, in every builder<\/h4>\n\n<p>Counter, departure board, dials, meter, precision, statement, neon, odometer, progress ring,\ndraining bar, digital and split flap, in compact or prominent, all responsive. Start from a\nready-made look and adjust it, or set everything yourself: your own colours, a panel behind the\ntimer, corner rounding, spacing, the heading above or below the digits, and your own wording for\nthe unit labels in any language. Everything shows on a live canvas while you set it up, on a mock\nof your own page, so you always see what you are going to get.<\/p>\n\n<p>Place a timer with the block, the Elementor widget, the WPBakery element or the shortcode. Every\none renders through the same code, so they cannot drift apart.<\/p>\n\n<h4>Pricing tables that follow the sale<\/h4>\n\n<p>One table, two prices. Give any row a sale value beside its everyday one, connect the table to a\ntimer, and the sale prices appear while that timer runs and go back on their own when it ends. No\nduplicate table to build, and nothing to change back on the day.<\/p>\n\n<p>A sale is not always a discount, so every field has its own optional sale version: the price, the\nwording under it, the badge, and what is included. Change only the badge if that is the offer.<\/p>\n\n<p>Buttons can send somebody to a link you choose, add a WooCommerce product to the cart, go straight\nto checkout, or go to checkout with a coupon applied while the sale is on. The table works with no\ntimer attached at all, if a pricing table is all you need.<\/p>\n\n<h4>A pricing table that looks like your brand<\/h4>\n\n<p>Choose how many tiers, pick a starting look from the carousel, choose its colours, then adjust\nanything you like. <strong>Ten looks and ten colour schemes<\/strong>, which is a hundred tables rather than\ntwenty near-identical cards: no two looks are the same shape in another colour, because colour is\nits own control. Each card in the picker shows the real table rather than describing it.<\/p>\n\n<p>Every tier can carry the lines real pricing pages use, each as its own field rather than improvised\nin a badge: a saving like \"50% off\" or \"$39 off\", a per-day equivalent like \"less than a coffee a day\", a\nstrapline under the name, and small print under the button. Each is optional and renders nothing\nwhen empty. The badge itself can sit inside the card, straddle its top edge as a ribbon, hang above\nit as a tab, or run across the corner as a flag, and the recommended tier can take a glow.<\/p>\n\n<p>Underneath, the layout is set by two separate controls rather than one combined list of styles.<\/p>\n\n<p><strong>How the tiers sit together<\/strong>: spaced apart, touching with no gaps, on one continuous sheet\ndivided by hairlines, set wide apart so each stands alone, or with the recommended one drawn taller\nand filled so it stands out of the row.<\/p>\n\n<p><strong>How each card is built<\/strong>: a bordered panel, a filled header band carrying the name and price, no\nbox at all, a coloured spine down the side, a rate card with the price above the name, a price on a\ntab across the corner, or a capped header with a point aimed at the tier.<\/p>\n\n<p>Those two multiply, so the combinations are yours rather than a list somebody wrote out.<\/p>\n\n<p><strong>The panel<\/strong> the table sits on: none, a flat ground, a soft wash, or a dark one that re-cuts its\nown text colours so it stays readable rather than merely going dark.<\/p>\n\n<p><strong>How the price is set.<\/strong> The familiar bold number; a light, wide, quiet register for a brand that\nwould rather state a price than sell one; one large enough to carry a page on its own; or the plan\nname leading with the price small underneath.<\/p>\n\n<p><strong>How the recommended column is marked<\/strong>: a coloured border, a lift, drawn larger, a filled bar\nacross the top, or inverted to a dark ground while the others stay light. Whichever you choose, it\nis also announced to a screen reader, so the recommendation is never carried by colour alone.<\/p>\n\n<p><strong>One accent colour<\/strong> driving the badge, the ticks, the button and the border together, rather than\nfour pickers that can disagree with each other.<\/p>\n\n<h4>Side by side on a phone, not stacked<\/h4>\n\n<p>A price means very little on its own and a great deal beside two others, which is why a pricing\ntable exists at all. Stacking the tiers on a phone means they are read one at a time, and the\ncomparison becomes an act of memory.<\/p>\n\n<p>So there is a third layout for narrow screens. Every tier stays on screen: the one being read takes most of the\nwidth and the others narrow beside it, still showing their name and price, and a tap or a swipe\nopens another. It works with any number of tiers, it is announced properly to a screen reader, and\nif the script never arrives the table falls back to the ordinary stack rather than breaking.\nStacking and sideways swiping are both still there if you prefer them.<\/p>\n\n<h4>Honest about evergreen timers<\/h4>\n\n<p>An evergreen timer is a real per-visitor deadline only if the offer it points to genuinely expires\nfor that visitor. If the price never changes when the timer reaches zero, the timer is not telling\nthe truth, and repeat visitors notice. The plugin gives you the honest configuration; using it\nhonestly is your call.<\/p>\n\n<h4>Your settings are yours<\/h4>\n\n<p>Download every campaign, its style, schedule, expiry action and your bar settings as one file. Keep\nit as a backup before a risky edit, restore it after a reinstall, or upload it on another site to\ncopy a whole season across.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20rendering%20a%20timer%20depend%20on%20any%20external%20service%3F\"><h3>Does rendering a timer depend on any external service?<\/h3><\/dt>\n<dd><p>No. A timer is drawn from data already in your WordPress database, so a countdown never waits on\nanother server and cannot fail because one was unreachable.<\/p><\/dd>\n<dt id=\"where%20is%20visitor%20data%20stored%3F\"><h3>Where is visitor data stored?<\/h3><\/dt>\n<dd><p>An evergreen timer's per-device state (when that visitor first saw the timer, and its restart\nbookkeeping) is kept in that visitor's own browser storage. Your campaigns are stored in your\nWordPress database alongside your other settings.<\/p><\/dd>\n<dt id=\"will%20a%20timer%20break%20if%20a%20page%20is%20cached%3F\"><h3>Will a timer break if a page is cached?<\/h3><\/dt>\n<dd><p>No, and this is why the markup ships with no digits in it. The remaining time is worked out in the\nbrowser on every page view, so a fully cached page still shows the correct countdown rather than\nwhatever the number was when the cache was written.<\/p><\/dd>\n<dt id=\"what%20about%20pricing%20tables%20on%20a%20cached%20page%3F\"><h3>What about pricing tables on a cached page?<\/h3><\/dt>\n<dd><p>They correct themselves too, which matters more, because a stale price is a promise your checkout\nwill not keep. A pricing table ships both its everyday and its sale values, and the browser picks\nthe right ones against the same deadline the timer counts to. So a page cached in the middle of a\nsale stops showing sale prices the moment the sale ends, and a page cached before one starts\nshowing them the moment it begins. You do not need to exclude the page from your cache, and the\nprices do not flash or move on load.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20a%20timer%20reaches%20zero%3F\"><h3>What happens when a timer reaches zero?<\/h3><\/dt>\n<dd><p>You choose per campaign: hide the timer, show a message in its place, or send the visitor to another\npage. A redirect only applies to someone who was watching when it reached zero. Arriving at a page\nwhose timer already finished never redirects you.<\/p><\/dd>\n<dt id=\"can%20i%20put%20a%20timer%20in%20a%20bar%20across%20the%20screen%3F\"><h3>Can I put a timer in a bar across the screen?<\/h3><\/dt>\n<dd><p>Yes, and it is part of the free plugin. The bar can carry a message, a live timer and a button, and\nit defaults to a thin strip at the top on phones and the bottom on desktop, both configurable. A\nvisitor can close it, and it stays closed on their device for a week. You can also have the bar step\naside by itself after a few seconds, or slide away while somebody reads and return when they scroll\nback to the top.<\/p>\n\n<p>It can follow the visitor across every page, or only the pages you pick, so a sale that applies to\npart of the shop stays where it belongs. And on a site with accounts you can hide it from anyone\nsigned in: a countdown speaks to somebody still deciding whether to buy, and a member who has\nalready paid reads the same bar as pressure to buy what they already own.<\/p><\/dd>\n<dt id=\"can%20i%20choose%20where%20each%20timer%20appears%3F\"><h3>Can I choose where each timer appears?<\/h3><\/dt>\n<dd><p>Yes. Every timer picks its own placement: a bar across the whole site, or free standing on the pages\nyou choose, where you can also put it on your product pages, the cart and the checkout. The list of\ntimers shows where each one appears, so you can see at a glance which timer is on your bar.<\/p><\/dd>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>Only for the store placements. The inline timers, the block, the builder elements and the sticky bar\nall work on any site. With WooCommerce inactive the store settings are switched off and nothing else\nchanges.<\/p><\/dd>\n<dt id=\"which%20builders%20are%20supported%3F\"><h3>Which builders are supported?<\/h3><\/dt>\n<dd><p>The block editor, Elementor, WPBakery and the classic shortcode. One renderer serves all four.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>The text domain now matches the plugin slug.<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Translations are now delivered through translate.wordpress.org rather than bundled with the plugin.<\/li>\n<li>Clearer description.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Fixed date, recurring, evergreen and holiday campaigns, all driven by one timer engine.<\/li>\n<li>Each timer chooses its own placement: a bar across the whole site, or free standing on the pages you choose.<\/li>\n<li>Sticky urgency bar at the top or bottom of the screen, dismissable, able to slide away while a visitor reads, limited to chosen pages, and hideable from signed in members.<\/li>\n<li>WooCommerce placements on the product page, the cart and checkout, with sale coupon expiry and an option to hide add to cart when a dated sale ends.<\/li>\n<li>One element in the block editor, Elementor, WPBakery and the classic shortcode.<\/li>\n<li>Built in holiday calendar that computes its own dates each year, Easter and Black Friday included.<\/li>\n<li>Per campaign appearance: four styles, your own colours, corner rounding, unit spacing and heading placement.<\/li>\n<li>Pricing tables with a sale price beside every everyday one, three layouts, one to five columns, currency and number formatting for four conventions, and WooCommerce cart, checkout and coupon buttons.<\/li>\n<li>Pricing table styling: ten ready-made looks and ten colour schemes that combine freely, five ways the table runs, seven ways a card is built, four panel treatments, four typographic registers, six ways of marking the recommended column, four badge placements, three glows, and your own accent colour over any of it.<\/li>\n<li>Four levels of depth for a pricing table: flat, raised cards with shadows tinted by your own colour, an embossed surface, or the row set in perspective with the recommended tier facing the reader. Every level works with every shape and colour, and straightens itself on a phone.<\/li>\n<li>A colour of its own for the badge, separate from the table's accent, so an urgent badge and a branded table no longer have to be the same colour.<\/li>\n<li>Colours are chosen from a row under the table itself, and hovering one shows it on the table before you commit to it.<\/li>\n<li>Every shape choice is shown as a drawing of what it does rather than described in words, and the chosen one animates to show the difference.<\/li>\n<li>The table stays on screen while you work down the settings, with its colour and badge controls pinned beneath it, so nothing has to be judged from memory.<\/li>\n<li>Whether the table runs across the page or one tier per row is one choice in one place, beside the other decisions about shape.<\/li>\n<li>Optional lines on every tier: a saving, a per-day equivalent, a strapline under the name and small print under the button, each shown only when written.<\/li>\n<li>A monthly and yearly switch above the table, with both prices in the page so it works with no scripts and on a cached page.<\/li>\n<li>The number of tiers is the first choice on the screen, up to five, with an animated guide that demonstrates what happens to a price when others are placed beside it rather than describing it.<\/li>\n<li>Pricing tables can keep every tier side by side on a phone, with a tap or a swipe to open one, instead of stacking them.<\/li>\n<li>Export and import every campaign as a single file.<\/li>\n<\/ul>","raw_excerpt":"Countdown timers, a sticky urgency bar, evergreen per-visitor deadlines and WooCommerce sale timers, with pricing tables that follow the sale.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/357665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=357665"}],"author":[{"embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gobbert"}],"wp:attachment":[{"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=357665"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=357665"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=357665"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=357665"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=357665"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=357665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}