32 /** |
32 /** |
33 * Registers a block type. |
33 * Registers a block type. |
34 * |
34 * |
35 * @since 5.0.0 |
35 * @since 5.0.0 |
36 * |
36 * |
37 * @param string|WP_Block_Type $name Block type name including namespace, or alternatively a |
37 * @param string|WP_Block_Type $name Block type name including namespace, or alternatively |
38 * complete WP_Block_Type instance. In case a WP_Block_Type |
38 * a complete WP_Block_Type instance. In case a WP_Block_Type |
39 * is provided, the $args parameter will be ignored. |
39 * is provided, the $args parameter will be ignored. |
40 * @param array $args { |
40 * @param array $args { |
41 * Optional. Array of block type arguments. Any arguments may be defined, however the |
41 * Optional. Array of block type arguments. Accepts any public property of `WP_Block_Type`. |
42 * ones described below are supported by default. Default empty array. |
42 * Any arguments may be defined, however the ones described below are supported by default. |
|
43 * Default empty array. |
43 * |
44 * |
44 * @type callable $render_callback Callback used to render blocks of this block type. |
45 * @type callable $render_callback Callback used to render blocks of this block type. |
45 * @type array $attributes Block attributes mapping, property name to schema. |
46 * @type array $attributes Block attributes mapping, property name to schema. |
46 * } |
47 * } |
47 * @return WP_Block_Type|false The registered block type on success, or false on failure. |
48 * @return WP_Block_Type|false The registered block type on success, or false on failure. |
71 _doing_it_wrong( __METHOD__, $message, '5.0.0' ); |
72 _doing_it_wrong( __METHOD__, $message, '5.0.0' ); |
72 return false; |
73 return false; |
73 } |
74 } |
74 |
75 |
75 if ( $this->is_registered( $name ) ) { |
76 if ( $this->is_registered( $name ) ) { |
76 /* translators: %s: block name */ |
77 /* translators: %s: Block name. */ |
77 $message = sprintf( __( 'Block type "%s" is already registered.' ), $name ); |
78 $message = sprintf( __( 'Block type "%s" is already registered.' ), $name ); |
78 _doing_it_wrong( __METHOD__, $message, '5.0.0' ); |
79 _doing_it_wrong( __METHOD__, $message, '5.0.0' ); |
79 return false; |
80 return false; |
80 } |
81 } |
81 |
82 |
91 /** |
92 /** |
92 * Unregisters a block type. |
93 * Unregisters a block type. |
93 * |
94 * |
94 * @since 5.0.0 |
95 * @since 5.0.0 |
95 * |
96 * |
96 * @param string|WP_Block_Type $name Block type name including namespace, or alternatively a |
97 * @param string|WP_Block_Type $name Block type name including namespace, or alternatively |
97 * complete WP_Block_Type instance. |
98 * a complete WP_Block_Type instance. |
98 * @return WP_Block_Type|false The unregistered block type on success, or false on failure. |
99 * @return WP_Block_Type|false The unregistered block type on success, or false on failure. |
99 */ |
100 */ |
100 public function unregister( $name ) { |
101 public function unregister( $name ) { |
101 if ( $name instanceof WP_Block_Type ) { |
102 if ( $name instanceof WP_Block_Type ) { |
102 $name = $name->name; |
103 $name = $name->name; |
103 } |
104 } |
104 |
105 |
105 if ( ! $this->is_registered( $name ) ) { |
106 if ( ! $this->is_registered( $name ) ) { |
106 /* translators: %s: block name */ |
107 /* translators: %s: Block name. */ |
107 $message = sprintf( __( 'Block type "%s" is not registered.' ), $name ); |
108 $message = sprintf( __( 'Block type "%s" is not registered.' ), $name ); |
108 _doing_it_wrong( __METHOD__, $message, '5.0.0' ); |
109 _doing_it_wrong( __METHOD__, $message, '5.0.0' ); |
109 return false; |
110 return false; |
110 } |
111 } |
111 |
112 |