WP_REST_Block_Renderer_Controller::get_item() public WP 5.0.0
Returns block output from block's registered render_callback.
{} Это метод класса: WP_REST_Block_Renderer_Controller{}
Хуков нет.
Возвращает
WP_REST_Response/WP_Error
. Response object on success, or WP_Error object on failure.
Использование
$WP_REST_Block_Renderer_Controller = new WP_REST_Block_Renderer_Controller(); $WP_REST_Block_Renderer_Controller->get_item( $request );
- $request(WP_REST_Request) (обязательный)
- Full details about the request.
Список изменений
С версии 5.0.0 | Введена. |
Код WP_REST_Block_Renderer_Controller::get_item() WP REST Block Renderer Controller::get item WP 5.7
public function get_item( $request ) {
global $post;
$post_id = isset( $request['post_id'] ) ? (int) $request['post_id'] : 0;
if ( 0 < $post_id ) {
$post = get_post( $post_id );
// Set up postdata since this will be needed if post_id was set.
setup_postdata( $post );
}
$registry = WP_Block_Type_Registry::get_instance();
$registered = $registry->get_registered( $request['name'] );
if ( null === $registered || ! $registered->is_dynamic() ) {
return new WP_Error(
'block_invalid',
__( 'Invalid block.' ),
array(
'status' => 404,
)
);
}
$attributes = $request->get_param( 'attributes' );
// Create an array representation simulating the output of parse_blocks.
$block = array(
'blockName' => $request['name'],
'attrs' => $attributes,
'innerHTML' => '',
'innerContent' => array(),
);
// Render using render_block to ensure all relevant filters are used.
$data = array(
'rendered' => render_block( $block ),
);
return rest_ensure_response( $data );
}