Lax Block Binder
Block Binder is a WordPress plugin that provides a user-friendly interface for binding post meta to supported core blocks using WordPress’s Block Bindings API (available in WordPress 6.5+).
Instead of manually editing block HTML or writing custom code, editors can now: – Select a supported block in the editor – Choose which block attribute to bind (text, URL, image, etc.) – Select a post meta key from the available options – Click “Bind” to connect the meta value to the block attribute
The block will automatically display the post meta value on the frontend without hardcoding content.
Features
- Visual Block Binding Interface — Sidebar panel for intuitive meta-to-block connections
- 16+ Supported Blocks — Paragraph, Heading, Image, Button, List, Quote, Audio, Video, Columns, Cover, File, Gallery, Table, and more
- Dynamic Meta Key Discovery — Automatically discovers available post meta keys from your site
- REST API Integration — Asynchronous meta key loading for optimal performance
- Block Bindings API Compliant — Uses WordPress’s official Block Bindings API (WP 6.5+)
- Secure — Respects WordPress security standards with capability checks and nonce verification
Usage
- Edit a Post/Page — Open the WordPress block editor
- Select a Block — Click on a supported block (Paragraph, Heading, Image, Button, etc.)
- Open Block Binder Panel — Find the “Block Binder” panel in the document settings sidebar
- Choose Attribute — Select which block attribute to bind (e.g., “content” for Paragraph, “url” for Image)
- Select Meta Key — Choose a post meta key from the dropdown (dynamically populated from your site)
- Bind — Click the “Bind” button to connect the meta value to the block attribute
- Unbind — Click “Unbind” to remove an existing binding
On the frontend, the bound block attribute will automatically display the post meta value without requiring additional code.
Supported Blocks
- core/paragraph
- core/heading (including h1-h6 variants)
- core/image
- core/button
- core/list
- core/quote
- core/audio
- core/video
- core/columns
- core/column
- core/cover
- core/file
- core/gallery
- core/table
- core/preformatted
- core/verse
Block Attributes
Different blocks support different attributes:
- Paragraph, Heading — content
- Image — url, alt, title, caption
- Button — text, url, title
- List — values
- Quote — value, citation
- Audio, Video — src, caption
- Columns, Column — className
- Cover — backgroundImageUrl, title, subtitle
- File — href, fileName, textLinkTarget
- Gallery, Table — caption
- Preformatted, Verse — content
Technical Details
Custom Binding Source: lax-block-binder/post-meta
– Registered via register_block_bindings_source()
– Retrieves post meta values via get_post_meta()
REST Endpoint: GET /wp-json/lax-block-binder/v1/meta-keys
– Requires edit_posts capability
– Returns array of available meta keys
– Secured with WordPress nonce verification
JavaScript Framework: @wordpress/scripts – Uses React hooks for state management – Built with @wordpress/components for UI – Integrates with @wordpress/block-editor for block manipulation
Support
For bug reports, feature requests, or questions, please visit: https://github.com/laxmariappan/lax-block-binder
License
Lax Block Binder is licensed under the GPL v2 or later.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Credits
Author: Lax Mariappan Contributors: Oz (AI Assistant)
Built with ❤️ for the WordPress community.