WP_REST_Post_Types_Controller::get_items
Retrieves all public post types.
Method of the class: WP_REST_Post_Types_Controller{}
No Hooks.
Returns
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_items( $request );
- $request(WP_REST_Request) (required)
- Full details about the request.
Changelog
| Since 4.7.0 | Introduced. |
WP_REST_Post_Types_Controller::get_items() WP REST Post Types Controller::get items code WP 7.0
public function get_items( $request ) {
if ( $request->is_method( 'HEAD' ) ) {
// Return early as this handler doesn't add any response headers.
return new WP_REST_Response( array() );
}
$data = array();
$types = get_post_types( array( 'show_in_rest' => true ), 'objects' );
foreach ( $types as $type ) {
if ( 'edit' === $request['context'] && ! current_user_can( $type->cap->edit_posts ) ) {
continue;
}
$post_type = $this->prepare_item_for_response( $type, $request );
$data[ $type->name ] = $this->prepare_response_for_collection( $post_type );
}
return rest_ensure_response( $data );
}