I would suggest you to provide your custom blocks with an additional plugin. You can add it automatically. If your users ever change their theme again, they won’t be able to edit their content anymore.
As mentioned in the comments, block features belong to the block editor. Your users should know that. They decide proactively to disclaim the block editor.
In cases as simple as your example button block you can provide a shortcode. If you want it badly 😉
Related Posts:
- How to serialize a Gutenberg block from block attributes in PHP?
- Removing Default Gutenberg Blocks, But Keeping Reusable Block Functionality?
- is_admin returning false in backend in server side rendered block
- Gutenberg Blocks doesn’t render correctly when using do_blocks
- add_meta_boxes action with refresh on save
- Gutenberg custom block using only register_block_type() and HTML
- Include a Gutenberg Block in a PHP file
- Create custom blocks for bootstrap
- How to return output of the new wp gallery block for automatically Link images To Media file
- Register JS for block on frontend only
- Displaying admin notices inside the block editor from rest_after_insert_{$this->post_type} hook
- How to programmatically add Gallery Block to Existing Post Content
- Best way to add more options to Gutenberg “More Rich” text controls drop down
- Fetch post block/field data as JSON with WordPress API
- Gutenberg block – Save PHP function’s output as HTML?
- Where to find documentation for CPT block template? (PHP)
- Generate YouTube image thumbnail in a Gutenberg block – ACF + Timber
- Add class to group inner container
- Multiple requests external data api dynamic block gutenberg
- How to keep the capability of users and disable Gutenberg editor in WordPress?
- parsing nested blocks (in columns, etc) via PHP
- Passing the name of selected color from the custom component to `render_callback`
- InnerBlocks with allowedBlocks not working with acf_register_block
- How to render a block from php template
- Want to unrestrict plugin block
- WordPress – Get Posts with Category data
- Additional file upload in Gutenberg page options/featured image
- Add Block Before Entry Title Using PHP
- How to populate a Gutenberg select field SelectControl with option value from PHP array
- Gutenberg Blocks and get_option() for styling
- How to extend SelectControl with data from my theme
- Copying and pasting to WordPress “code editor” code via the front end and clipboard
- Gutenberg block don’t save rich text content
- Is there a PHP function that will return the block ID generated by WordPress?
- register_block_type is not working properly
- Categories does not show Block editor WordPress
- Block that renders html saved in a php file
- Show Gutenberg facebook embed with a custom theme
- Gutenberg – render_callback does not pass ToggleControl value on frontend
- Add default block css when the block has been added with php?
- Custom Post Type doesn’t have template content when creating programmatically in PHP but does when created in WP Admin
- How to add different menu items on different menus?
- How to enable REST API on custom post type without Gutenberg?
- Replace block content with an array
- Include a static block inside of a dynamic block
- WordPress Block Editor Gutenberg running code inside ! is_admin()
- dbDelta support for FOREIGN KEY
- How can I save a multiple select array with the settings API for a plug-in options page?
- Inject post (from specific category) between posts in Loop
- Place page title in header?
- Initialize WordPress environment to use in a real cron script
- Allowed memory size of 268435456 bytes exhausted (tried to allocate 64 bytes)?
- How to Add a Link to the Drop-Down User Menu in the Admin Bar?
- Remove username in emails or swap username for email
- How to add custom taxonomy slug in CPT permalink?
- What SQL / WordPress queries would need a nonce?
- Creating bulk posts with Youtube videos
- How to test nonce with AJAX – Plugin development
- How to do multiple searches (with logical OR) in WP_Query in hook pre_get_posts?
- PHP Warning: Attempt to read property “term_id” on bool
- Fatal error: Uncaught Error: Call to undefined function test()
- Return a numerical function value in Customizer controls
- Adding function to Genesis genesis_header [closed]
- theme_root returning a truncated URI
- Echo string and function?
- Only first shortcode gets executed
- What is the latest WordPress that will work on PHP 5.2.17?
- Function returns post URLs rather than retrieving Facebook Graph API data
- Error while setting role
- Editing a PHP file to include a small text piece on every page
- How to get current post category details inside “loop”?
- echo var into wp_query
- Using wordpress function to retrieve data
- Creating a child theme after numerous edits to parent theme
- Adding Additional Variables on Menus Page
- Editing Theme Files on WordPress.com-hosted Site [closed]
- How to correctly escape an echo
- Build A Custom SQL Query for WordPress Search
- Learndash: Customize user enroll time
- How to edit post meta data before publishing the post it self wordpress?
- get Woocommerce product format json for WP_Query
- Refresh page after login with litespeed cache
- remove_action() not working in page template – Genesis
- Adding action item to admin users table and sending email
- Using get_the_excerpt in edit-post
- ajax form with multiple submit buttons and values
- Unserializeing multiple column values that are stored in one database results variable
- WordPress – custom navigation item classes
- wp_enqueue_style conflict when using in different action hooks
- WordPress developer
- If the_content’s string length is greater than 0, show post otherwise dont
- How do I update product shipping using PHP in WooCommerce?
- wp_enqueue_scripts with JS script as a string
- Why can’t I enter the wordpress admin interface?
- base64_encode conflict with convert_smilies in wordpress
- WordPress 6.1.1 UTF8 Slug Limit Increase
- WordPress directories not writable after PHP version upgrade
- How do I unset category from a product in wordpress by code
- Load style and script for custom post type metabox
- Permissions error when I use my plugin to delete comments in the front-end