WP_REST_Post_Types_Controller::get_item() public WP 4.7.0
Retrieves a specific post type.
{} It's a method of the class: WP_REST_Post_Types_Controller{}
No Hooks.
Return
WP_REST_Response|WP_Error. Response object on success, or WP_Error object on failure.
Usage
$WP_REST_Post_Types_Controller = new WP_REST_Post_Types_Controller(); $WP_REST_Post_Types_Controller->get_item( $request );
- $request(WP_REST_Request) (required)
- Full details about the request.
Changelog
Since 4.7.0 | Introduced. |
Code of WP_REST_Post_Types_Controller::get_item() WP REST Post Types Controller::get item WP 5.6.2
public function get_item( $request ) {
$obj = get_post_type_object( $request['type'] );
if ( empty( $obj ) ) {
return new WP_Error(
'rest_type_invalid',
__( 'Invalid post type.' ),
array( 'status' => 404 )
);
}
if ( empty( $obj->show_in_rest ) ) {
return new WP_Error(
'rest_cannot_read_type',
__( 'Cannot view post type.' ),
array( 'status' => rest_authorization_required_code() )
);
}
if ( 'edit' === $request['context'] && ! current_user_can( $obj->cap->edit_posts ) ) {
return new WP_Error(
'rest_forbidden_context',
__( 'Sorry, you are not allowed to edit posts in this post type.' ),
array( 'status' => rest_authorization_required_code() )
);
}
$data = $this->prepare_item_for_response( $obj, $request );
return rest_ensure_response( $data );
}