register_block_type( string|WP_Block_Type $name, array $args = array() )

Registers a block type.


Description Description


Parameters Parameters

$name

(string|WP_Block_Type) (Required) Block type name including namespace, or alternatively a complete WP_Block_Type instance. In case a WP_Block_Type is provided, the $args parameter will be ignored.

$args

(array) (Optional) Array of block type arguments. Any arguments may be defined, however the ones described below are supported by default.

  • 'render_callback'
    (callable) Callback used to render blocks of this block type.

Default value: array()


Top ↑

Return Return

(WP_Block_Type|false) The registered block type on success, or false on failure.


Top ↑

Source Source

File: wp-includes/blocks.php

function register_block_type( $name, $args = array() ) {
	return WP_Block_Type_Registry::get_instance()->register( $name, $args );
}

Top ↑

Changelog Changelog

Changelog
Version Description
5.0.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by jmau

    You can pass custom $attributes which can be used both on editor and front-end in render_callback :

    register_block_type( 'my_namespace/my_block', [
    	'render_callback' => 'render_callback',
    	'attributes'      => [
    		'some_string' => [
    			'default' => 'default string',
    			'type'    => 'string'
    		],
    		'some_array'  => [
    			'type'  => 'array',
    			'items' => [
    				'type' => 'string',
    			],
    		]
    	]
    ] );
    

    Important (tested in 5.0.3) : in case of array attributes you MUST specify items type. Otherwise it would trigger a notice.

You must log in before being able to contribute a note or feedback.