Interactive · Gutenberg
Pomodoro Timer block for WordPress
An interactive Pomodoro productivity timer with work and break cycles, visual progress ring, and session tracking.
Get Blockenberg
Free Gutenberg block in Blockenberg. The inspector controls and front-end behavior on this page come from this block’s source, not a shared stub.
What it actually does
An interactive Pomodoro productivity timer with work and break cycles, visual progress ring, and session tracking.
Inspector panels on this block: Header, Timer Settings, Sizing & Layout. Those titles come from index.js, not from a shared template.
Where to find it
Gutenberg inserter → Interactive → search “Pomodoro Timer” (block name `blockenberg/pomodoro-timer` in block.json). Style it in the sidebar after insert.
How to use Pomodoro Timer block for WordPress
- Install Blockenberg. Install from WordPress.org and activate the plugin.
- Insert the block. Edit a page, click +, search for “Pomodoro Timer”, insert it. Category: Interactive.
- Configure inspector controls that exist on this block. Open Header. Set “Show Title”, “Show Subtitle”, “Header — Title”, “Subtitle”.
- Check the published page. The view script reads HTML data attributes: data-opts. The block editor preview may not run the same view script.
Inspector controls from this block’s code
| Control | What the code does |
|---|---|
| Show Title | On/off toggle in the inspector. On by default. Saved as `showTitle`. |
| Show Subtitle | On/off toggle in the inspector. On by default. Saved as `showSubtitle`. |
| Header — Title | Text field in the inspector. block.json default: Pomodoro Timer. Saved as `title`. |
| Subtitle | Text field in the inspector. block.json default: Stay focused. Work smarter.. Saved as `subtitle`. |
| Work Duration (min) | Numeric range control in the inspector. Range 1–90. block.json default: 25. Saved as `workMinutes`. |
| Short Break (min) | Numeric range control in the inspector. Range 1–30. block.json default: 5. Saved as `shortBreak`. |
| Long Break (min) | Numeric range control in the inspector. Range 5–60. block.json default: 15. Saved as `longBreak`. |
| Cycles Before Long Break | Numeric range control in the inspector. Range 2–8. block.json default: 4. Saved as `cyclesBeforeLong`. |
| Show Mode Label | On/off toggle in the inspector. On by default. Saved as `showModeLabel`. |
| Show Cycle Count | On/off toggle in the inspector. On by default. Saved as `showCycleCount`. |
| Title Typography | Shared Blockenberg typography popover (family, size, weight, spacing). Saved as `titleTypo`. |
| Subtitle Typography | Shared Blockenberg typography popover (family, size, weight, spacing). Saved as `subtitleTypo`. |
| Timer Font Size | Numeric range control in the inspector. Range 28–96. block.json default: 56. Saved as `timerSize`. |
| Ring Size (px) | Numeric range control in the inspector. Range 120–400. block.json default: 220. Saved as `ringSize`. |
| Ring Thickness | Numeric range control in the inspector. Range 4–40. block.json default: 14. Saved as `ringThickness`. |
| Card Border Radius | Numeric range control in the inspector. Range 0–48. block.json default: 20. Saved as `cardRadius`. |
| Button Radius | Numeric range control in the inspector. Range 0–100. block.json default: 100. Saved as `btnRadius`. |
| Max Width (px) | Numeric range control in the inspector. Range 280–700. block.json default: 440. Saved as `maxWidth`. |
| Padding Top (px) | Numeric range control in the inspector. Range 0–160. block.json default: 60. Saved as `paddingTop`. |
| Padding Bottom (px) | Numeric range control in the inspector. Range 0–160. block.json default: 60. Saved as `paddingBottom`. |
What the front-end script actually does
- The view script reads HTML data attributes: data-opts.
- JavaScript functions that perform the math: getTotalFor.
When this is the right block
- An interactive Pomodoro productivity timer with work and break cycles, visual progress ring, and session tracking — that is the job of Pomodoro Timer, not a generic content block.
- Use it when you need the editor control labeled “Show Title”, which exists on this block’s inspector.
- It matches pages about pomodoro, timer, focus.
- The math runs in the visitor’s browser after publish — no extra calculator plugin.
Notes from the implementation
viewScript: this folder’s frontend.js is enqueued on the front end for this block.
FAQ
How do I add the Pomodoro Timer block in WordPress?
Install Blockenberg from WordPress.org, edit a page in the block editor, click +, and search for “Pomodoro Timer”. It sits under Interactive. After insert, open Header and set “Show Title”, “Show Subtitle”, “Header — Title”, “Subtitle”.
Does Pomodoro Timer need a server or extra plugin?
No. After Blockenberg is active, the view script runs in the browser with the values you saved on the block.
Is the Pomodoro Timer Gutenberg block free?
Yes. Pomodoro Timer ships inside Blockenberg. Get the plugin from WordPress.org — no paid add-on is required for this block.
Can I style Pomodoro Timer to match my theme?
Yes. Blockenberg’s shared typography and color panels apply here, plus any block-specific style controls listed on this page (panels: Header, Timer Settings, Sizing & Layout).
Related interactive blocks
Stopwatch
Interactive stopwatch with start/pause/reset controls and lap recording. Fully styled with customizable colors, display format, and rich Inspector settings.
2048 Game
The classic sliding-tile 2048 puzzle. Swipe or use arrow keys to merge tiles and reach the 2048 tile.
Analog Clock
A beautiful live analog clock rendered with SVG. Fully customizable: clock style, timezone, colors, size, and optional date/time labels.
Bingo Card
Interactive 5×5 Bingo card with number calling, win detection, and celebration animations.
Content Score
Visual content or SEO scoring card with circular gauge, color-coded criteria rows, and overall grade.
Dice Roller
Interactive dice roller supporting d4, d6, d8, d10, d12, d20 and d100. Roll multiple dice, see individual results, totals, and past roll history.
Get Blockenberg
Install Blockenberg from WordPress.org, then insert Pomodoro Timer from the Gutenberg inserter.