Block action creates a new block type. It should be placed on the main HTML element that represents the block.
For example, if we have a Pricing section and we want to create a Pricing block, we add the Block action to the top pricing section element.
Every block type needs a unique id, such us
Block id can contain only letters, numbers and the
Pinegrow will prepend the namespace (project’s slug) to the block id during export. Thanks to using the namespace, block id has to be unique only within the project, not globally.
- We can not define two blocks with the same id in the same theme or plugin.
- We can use same ids in different projects.
Note, block ids can not contain the
_character. Any occurrences of
_in the theme / plugin slug are automatically replaced by
-during Pinegrow export.
Title is a human readable block name that will be shown in the block editor library.
Description can provide additional information about the block.
Icon can be the name of one of WordPress built-in icons or inline SVG code. Click on the Browse icons button to open the gallery of WordPress dashicons icons or Bootstrap and Remix icons.
To use WordPress dashicons, copy the icon name without the prefix
dashicon-. For example, enter
awards instead of
To use SVG icons, copy the complete SVG code into the Icon field.
Select the category for the block. Use Custom to enter a custom category name.
The custom category has to be registered on one of the blocks.
To register the category, check Register category and fill in the information.
Open the More options section to fine tune the block.
Select how the block is implemented:
- Auto will use the global project setting, set in Theme / Plugin settings.
- Dynamic PHP block will generate a native WordPress block that renders with PHP every time it is displayed. The block can use display posts and use all WordPress actions.
- ACF PRO will generate an ACF PRO block. This option requires the ACF PRO plugin.
Learn more about the difference between Regular, Dynamic and ACF blocks.
The folder within the theme or plugin where the block files will be exported.
Default value is
A comma separated list of keywords that help users find the block in WordPress block editor library.
Only for ACF Pro blocks. Select post types that can use the block.
Include a CSS stylesheet that contains block styling. The stylesheet will be included both on the backend in the block editor and on the front end. Do not include stylesheets that are already included in the theme, such as framework stylesheets.
Learn more about block styles.
Include a CSS stylesheet that contains any special block styling that should be only included when editing the site in the block editor.
Learn more about including block scripts.
Allowed parent block types, comma or new line separated. Useful if the block should be listed only for specific parent blocks when adding an inner block. You can omit namespace for blocks from this project.
aboutme showcase core/heading mytheme/project mytheme/experience
Enable support of common WordPress block controls.
Learn more about common controls.
Load edited post
Only for Dynamic PHP blocks, does not affect block rendering on the front-end.
Load the current edited post during editor rendering so that actions such as Post Title and Post Featured Image display the information of the edited post.
Using WordPress actions on Dynamic PHP blocks
You can freely use all WordPress actions to add dynamic functions to your block, for example displaying the Site name or using Show Posts to display posts from the database.
There is one limitation, though:
Non-block WordPress actions can not be placed on the element that has the Block action. If you do that you will get a warning message during the export. The reason is that such configuration often results in unexpected results.
For example, the following is not allowed because Block and Show Posts actions are used on the same
section | Block, Show Posts h1 | Post Title
The solution is to create a wrapper element and move the Block action there:
div | Block section | Show Posts h1 | Post Title