Blocks is a plugin that lets you create reusable WordPress content blocks and embed them anywhere on your site with a shortcode. In other words, you write a piece of content once — a call to action, a disclaimer, a promotional banner, or a support notice — and paste its shortcode into any page, post, or widget area where you want that content to appear.
Additionally, when you update the block content in one place, every shortcode instance on your site updates automatically. As a result, you never have to hunt down and manually edit the same text across dozens of pages.
Furthermore, the plugin is available on WordPress.org and works with any WordPress theme.
What Are WordPress Content Blocks?
WordPress content blocks (in the context of this plugin) are reusable pieces of content stored as custom post types. Specifically, each block has its own editor page where you write the content, and the plugin generates a unique shortcode for that block. You then paste the shortcode wherever you need the content to appear.
Moreover, this is different from Gutenberg blocks. Gutenberg blocks are the building blocks of the WordPress block editor — they structure individual pages. The Blocks plugin, on the other hand, creates reusable content snippets that live independently and can be embedded anywhere via shortcode.
Why Use Reusable Content Blocks?
Without reusable content blocks, maintaining consistent content across your site becomes a manual process. However, with the Blocks plugin, you solve several common problems:
- Consistent messaging — your call to action or disclaimer is identical everywhere it appears. In fact, you eliminate the risk of outdated or inconsistent versions on different pages.
- Single point of editing — update once, update everywhere. Consequently, changing a phone number, a pricing detail, or a legal disclaimer takes seconds instead of hours.
- Non-technical management — anyone who can edit a WordPress post can create and update blocks. No code, no theme editing, no page builder knowledge required.
- Widget-area content — place blocks in sidebars, footers, and other widget areas using a text widget with the shortcode.
In short, the Blocks plugin turns any piece of content into a centrally managed, reusable asset.
How the Blocks Plugin Works
The workflow is straightforward:
- Create a new block — go to Blocks > Add New in your WordPress admin.
- Write the content — use the standard WordPress editor. You can include text, HTML, images, and even other shortcodes.
- Copy the shortcode — the plugin generates a shortcode like
that you can find on the block’s edit page. - Paste the shortcode — add it to any page, post, or widget area.
- The content renders — WordPress replaces the shortcode with your block content when the page loads.
As a result, the block content is centrally stored and centrally edited, but displayed across your entire site.
Use Cases
The Blocks plugin is ideal for these scenarios:
- Legal disclaimers — place your disclaimer on every product page and update it once when your terms change.
- Calls to action — maintain consistent CTAs across landing pages, blog posts, and sidebar widgets.
- Contact information — embed your address, phone, and hours in multiple locations. When you move offices, update one block.
- Promotional banners — run a site-wide promotion by embedding a block in your header or sidebar widget area.
- Support notices — display maintenance windows, holiday hours, or service alerts across your site.
- Reusable form embeds — wrap a Contact Form 7 shortcode inside a block so you can swap forms site-wide from one place.
Moreover, blocks support full HTML. Consequently, you can include styled content, images, videos, and even JavaScript if needed.
Blocks vs WordPress Reusable Blocks
WordPress introduced “Reusable Blocks” (now called “Patterns”) in the Gutenberg block editor. However, the Blocks plugin works differently and has distinct advantages in certain scenarios:
| Feature | Blocks Plugin | WordPress Patterns |
|---|---|---|
| Works in Classic Editor | Yes | No |
| Works in widgets | Yes (shortcode) | Limited |
| Works in theme files | Yes (do_shortcode) | No |
| Update once, update everywhere | Yes | Synced patterns only |
| Shortcode embed | Yes | No |
| Requires Gutenberg | No | Yes |
Specifically, if you use the Classic Editor, widget areas, or need to embed content in theme template files via do_shortcode(), the Blocks plugin is the more flexible option.
Common Questions
Can I use HTML in blocks?
Yes. The block editor supports full HTML. In fact, you can write any HTML, CSS, or JavaScript inside a block. The content is rendered exactly as you wrote it.
Can I nest shortcodes inside a block?
Yes. You can place other plugin shortcodes inside a block. For example, you can embed a Contact Form 7 form shortcode, a gallery shortcode, or any other plugin’s shortcode. WordPress processes nested shortcodes when the page renders.
Does the plugin work with page builders?
Yes. Any page builder that supports WordPress shortcodes — Elementor, Beaver Builder, Divi, WPBakery — can render Blocks plugin shortcodes. Similarly, just paste the shortcode into a text or shortcode module.
How many blocks can I create?
There is no limit. You can create as many blocks as you need. Each block is stored as a custom post type in your WordPress database.
Getting Started
The Blocks plugin gives you a simple way to manage reusable content across your WordPress site. Write once, paste everywhere, edit in one place.
Additionally, check out these other open source contributions and WordPress plugins:
- CF7 Mailchimp Extension — connect contact forms to Mailchimp.
- Quick Maps — embed Google Maps without an API key.
- Arc — VS Code Terminal Bridge for AI coding agents.
If you need help with the Blocks plugin or want to report an issue, contact us directly.
026.02.22.22
JS & CSS Performance + PHP 7.4 Fixes
Performance improvements for JavaScript and CSS loading. PHP 7.4 compatibility fixes and REST endpoint updates.
Improvements (2)
- JS & CSS performance improvements
- Updated REST API endpoints
Fixes (1)
- Fixed PHP 7.4 compatibility issues
Patches (0)
026.02.10.1904
Bug Fixes
Bug fixes for stability.
Improvements (0)
Fixes (1)
- Fixed various bugs reported after asset optimization update
Patches (0)
026.01.30.1153
Asset Optimization
Optimized assets with banner updates and UI improvements.
Improvements (3)
- Optimized JS and CSS asset loading
- Banner feature updates
- UI improvements
Fixes (0)
Patches (0)
026.01.26.01
Popup Feature
Added popup feature for block display.
Improvements (1)
- Added popup display option for blocks
Fixes (0)
Patches (0)
025.12.29.19
WordPress Coding Standards
Enhanced code quality with proper WordPress Coding Standards compliance.
Improvements (3)
- Full WordPress Coding Standards compliance
- Improved code quality and consistency
- Updated CSS styles
Fixes (0)
Patches (0)
025.12.02.02
Winter Cleaning
Bug fixes and code cleanup.
Improvements (0)
Fixes (1)
- Bug fixes and code cleanup
Patches (0)
25.11.05.1003
Bug Fixes & Improvements
Bug fixes and general improvements.
Improvements (1)
- General improvements to plugin functionality
Fixes (1)
- Fixed reported bugs and edge cases
Patches (0)
1.6.55
Bug Fixes
Bug fixes and stability improvements.
Improvements (0)
Fixes (1)
- Fixed various bugs for improved stability
Patches (0)
25.09.30.1006
Codebase Modernization
Modernized the codebase for better security and stability. New date-based versioning scheme.
Improvements (2)
- Modernized codebase with improved security patterns
- Migrated to date-based versioning scheme
Fixes (0)
Patches (1)
- Security hardening across core functions
1.6.42
Version Standardization
Tag versioning standardization in preparation for new release cycle.
Improvements (1)
- Standardized version tagging system
Fixes (0)
Patches (0)
1.6.23
TinyMCE Options
Added options for TinyMCE editor customization.
Improvements (1)
- Added TinyMCE configuration options for block editing
Fixes (0)
Patches (0)
1.6.21
Documentation Links
Updated documentation links throughout the plugin.
Improvements (1)
- Updated doc links to current URLs
Fixes (0)
Patches (0)
1.6.6
PHP Error Fixes
Corrected PHP errors for improved stability.
Improvements (0)
Fixes (1)
- Corrected PHP errors and warnings
Patches (0)
1.6.4
WordPress 4.8 Compatibility
Tested and verified compatibility with WordPress 4.8.
Improvements (1)
- Verified compatibility with WordPress 4.8
Fixes (0)
Patches (0)
1.6.3
jQuery Update
Updated jQuery implementation.
Improvements (0)
Fixes (1)
- Updated jQuery .on("load") event handler for compatibility
Patches (0)
1.6.2
Bug Fixes
Fixed bugs in block management.
Improvements (0)
Fixes (1)
- Fixed bugs in block content handling
Patches (0)
1.6.1
Admin Menu Update
Updated admin menu registration.
Improvements (1)
- Updated add_menu_page implementation
Fixes (0)
Patches (0)
0.3
WPautop Control
Added option to enable or disable WordPress automatic paragraph formatting.
Improvements (1)
- Added options to enable/disable WPautop per block
Fixes (0)
Patches (0)
0.0.21
HTML & CSS Options
Added HTML and CSS editing options for block content.
Improvements (2)
- Added HTML editing option for blocks
- Added CSS editing option for blocks
Fixes (0)
Patches (0)
0.0.19
Documentation Update
Further documentation improvements.
Improvements (1)
- Improved documentation and help text
Fixes (0)
Patches (0)
0.0.9
Documentation Update
Updated plugin documentation.
Improvements (1)
- Updated plugin documentation and usage instructions
Fixes (0)
Patches (0)
0.0.8
Editor Support
Added visual editor for block content.
Improvements (1)
- Added visual editor for block content creation
Fixes (0)
Patches (0)
0.0.6
Initial Release
First public release of Blocks on WordPress.org. Simple reusable content blocks with shortcode support.
Improvements (2)
- Reusable content blocks with shortcode generation
- Simple block management from WordPress admin