Option 1 is the solution, here’s a smaller example:
$obj = new Obj();
....
register_block_type(
'my-plugin/my-block',
[
'editor_script' => 'editor-script-handle',
'render_callback' => [ $obj, 'block_save_function' ]
]
);
In that code [ $obj, 'block_save_function' ]
is equivalent to $obj->block_save_function(...
.
The important thing to note, is that render_callback
‘s value is a PHP callable
type. You need a reference to the object, and the name of the method to call. This is true of all callbacks, such as when you add an action or filter.
Likewise, option 2 and 3 can be fixed by using the same syntax.
To learn more about the different ways to create callables, see the PHP official documentation here https://www.php.net/manual/en/language.types.callable.php
Related Posts:
- check if Gutenberg is currently in use
- Using a plugin class inside a template
- How to use PanelColorSettings in custom Gutenberg block?
- Using OOP plugin’s methods throughout the website
- How Can I Add a Filter to Class Instance Only?
- Adding pre-publish checks with Gutenberg
- Managing two editable fields in gutenberg
- How to make repeated component/block in Gutenberg
- How to save block attributes when the output doesn’t change
- How to remove unwanted panels inside InspectorControls from core blocks in Gutenberg
- Gutenberg ServerSideRender is deprecated, how to work with new wp.serverSideRender component?
- How to get data from WordPress $wpdb into React Gutenberg Blocks Frontend?
- lodash dependency in a Gutenberg plugin
- Plugin Architecture/Design Pattern – is better to use a private Observer/Mediator Pattern for plugin subclasses or WP add_action?
- creating elements/innerblocks via rangecontrol
- What’s the Right Way to get and save remote data for a Gutenberg block?
- Using a front controller in a WordPress plugin, any suggestions?
- How to Parse an Array of Elements in Gutenberg Block
- Error : “Updating failed: The response is not a valid JSON response” with custom shortcode
- Using the component outside the editor. select(‘core’) is null
- Gutenberg is there a way to know if the current block is reusable?
- How to disable “Transform to” option in Gutenberg custom blocks
- How to allow core Gutenberg blocks selection only when you are inside a custom inner block
- Saving data from block editor to the database
- Make a list with header and subtext in Gutenberg blocks
- Gutenberg – What is the best way to save/update post meta?
- WordPress Ajax callback function from plugin – OOP
- How to create multiple Gutenberg blocks in one plugin
- How to get color name in PanelColorSettings in custom Gutenberg block?
- Initial help with official “create a block” tutorial
- Registering and using actions which return results in a Plugin class
- Applying OO patterns and principles to plugin development
- How do I dynamically render an InnerBlock inside a dynamic block?
- Gutenberg Block showing invalid content on edit
- Gutenberg blocks not getting styled on back end
- How to setAttributes in Gutenberg block?
- Run code once when block is created
- Best way to save custom css for an block
- How can I listen to events in Gutenberg block?
- It’s possible to passing a ref to FormTokenField from parent component using forwardRef?
- What’s the right way to instantiate new blocks and/or the plugin itself in toto when using wppb architecture?
- WP Gutenberg Blocks – How to limit first/root blocks
- Creating a custom Gutenberg block with columns
- Plugin Architecture Question: How to avoid using transients
- ResizableBox with RangeControl not working
- Gutenberg: import dependency or assign from global variable?
- Dynamically creating classes for Widget API
- Gutenberg table block with Bootstrap .table class
- How to control an elements classes from multiple Gutenberg sidebar controls?
- WordPress class, using add_action to call member function does not work
- How to add a gradient component to a custom block
- How to only load css for used blocks on frontend
- Additional classes `undefined` after saving post in Gutenberg
- How do you submit a Gutenberg plugin?
- Using OOP inside a Plugin – Is it allowed?
- A question about add_action()
- Invalid hook call on save, not edit when using swiper slider
- How to add template colors to custom block options in WordPress Gutenberg editor sidebar?
- How to use apiFetch to get author information in Gutenberg properly?
- Gutenberg blocks error: Each child in a list should have a unique “key” prop
- How to properly package a block plugin
- Setting global block attribute value
- OOP plugin not working
- Modify custom block plugin without losing content
- Custom Block Not Shown in Block Inserter
- How to override supports of innerBlocks?
- How to call a function from a shortcode function in an oop plugin
- When setting styles to an extended block that was saved as a pattern, it doesn’t remove the style that was there
- extraprops override existing props
- Gutenberg – Call google map render function in save after DOM has been rendered
- Bad request 400 using class based files
- Gutenberg block breaks when showing new data
- Is “document loaded” different on admin side than public side?
- How to re-render inspector controls?
- why is apiFetch throwing Unhandled Promise Rejection: TypeError: Object is not a function
- Get value of custom checkbox from Gutenberg sidebar in plugin
- Where to save Gutenberg plugin data?
- Gutenberg component in a plugin admin
- How to integrate plugins into block editor
- Add custom html classes to gutenberg wrapper
- Performing ajax request in wordpress
- How to create save function for custom Gutenberg style block?
- Error when activating a custom plugin on production server
- OOP development and hooks
- How to Maintain url on form submit
- How is construct function working even when variable is assigned null value?
- Object Oriented plugin, add action and variables
- How do I create Widget within plugin that uses its own class?
- Method not receiving attributes from shortcode call, general OOP problems
- Gutenberg and custom blocks messed up pagespeed score. What did I wrong?
- Gutenberg text field validation
- Undo operation not working in Rich text [Gutenberg]
- Render raw html in Gutenberg block
- Build a dynamic block using the default attributes
- Add custom data-attribute to core Gutenberg block within an template
- Call API on post save/update and show the result in admin area
- How to replace content of a block in and re-render on change?
- extending a core block doesn’t work inside the editor
- Reinitiate Gutenburg’s blocks using javascript
- Remove Gutenberg Buttons Block