Retrieves the site index.
Description
This endpoint describes the capabilities of the site.
Parameters
$requestWP_REST_Requestrequired- Request data.
Source
public function get_index( $request ) {
// General site data.
$available = array(
'name' => get_option( 'blogname' ),
'description' => get_option( 'blogdescription' ),
'url' => get_option( 'siteurl' ),
'home' => home_url(),
'gmt_offset' => get_option( 'gmt_offset' ),
'timezone_string' => get_option( 'timezone_string' ),
'page_for_posts' => (int) get_option( 'page_for_posts' ),
'page_on_front' => (int) get_option( 'page_on_front' ),
'show_on_front' => get_option( 'show_on_front' ),
'namespaces' => array_keys( $this->namespaces ),
'authentication' => array(),
'routes' => $this->get_data_for_routes( $this->get_routes(), $request['context'] ),
);
// Add media processing settings for users who can upload files.
if ( wp_is_client_side_media_processing_enabled() && current_user_can( 'upload_files' ) ) {
// Image sizes keyed by name for client-side media processing.
$available['image_sizes'] = array();
foreach ( wp_get_registered_image_subsizes() as $name => $size ) {
$available['image_sizes'][ $name ] = $size;
}
/** This filter is documented in wp-admin/includes/image.php */
$available['image_size_threshold'] = (int) apply_filters( 'big_image_size_threshold', 2560, array( 0, 0 ), '', 0 );
/** This filter is documented in wp-includes/class-wp-image-editor-imagick.php */
$available['image_strip_meta'] = (bool) apply_filters( 'image_strip_meta', true );
/*
* On the server, this filter receives the decoded image's actual bit depth.
* The client path never decodes the image on the server, so the filter is
* applied with 16 (the maximum depth the client encoder can produce) as
* both the value and the current depth. The client caps its output bit
* depth at the filtered value, so a plugin lowering it (e.g. to 8) takes
* effect on client-generated images too.
*/
/** This filter is documented in wp-includes/class-wp-image-editor-imagick.php */
$available['image_max_bit_depth'] = (int) apply_filters( 'image_max_bit_depth', 16, 16 );
}
$response = new WP_REST_Response( $available );
$fields = $request['_fields'] ?? '';
$fields = wp_parse_list( $fields );
if ( empty( $fields ) ) {
$fields[] = '_links';
}
if ( $request->has_param( '_embed' ) ) {
$fields[] = '_embedded';
}
if ( rest_is_field_included( '_links', $fields ) || rest_is_field_included( '_embedded', $fields ) ) {
$response->add_link( 'help', 'https://developer.wordpress.org/rest-api/' );
$this->add_active_theme_link_to_index( $response );
$this->add_site_logo_to_index( $response );
$this->add_site_icon_to_index( $response );
} else {
if ( rest_is_field_included( 'site_logo', $fields ) ) {
$this->add_site_logo_to_index( $response );
}
if ( rest_is_field_included( 'site_icon', $fields ) || rest_is_field_included( 'site_icon_url', $fields ) ) {
$this->add_site_icon_to_index( $response );
}
}
/**
* Filters the REST API root index data.
*
* This contains the data describing the API. This includes information
* about supported authentication schemes, supported namespaces, routes
* available on the API, and a small amount of data about the site.
*
* @since 4.4.0
* @since 6.0.0 Added `$request` parameter.
*
* @param WP_REST_Response $response Response data.
* @param WP_REST_Request $request Request data.
*/
return apply_filters( 'rest_index', $response, $request );
}
Hooks
- apply_filters( ‘big_image_size_threshold’,
int $threshold ,array $imagesize ,string $file ,int $attachment_id ) Filters the “BIG image” threshold value.
- apply_filters( ‘image_max_bit_depth’,
int $max_depth ,int $image_depth ) Filters the maximum bit depth of resized images.
- apply_filters( ‘image_strip_meta’,
bool $strip_meta ) Filters whether to strip metadata from images when they’re resized.
- apply_filters( ‘rest_index’,
WP_REST_Response $response ,WP_REST_Request $request ) Filters the REST API root index data.
Changelog
| Version | Description |
|---|---|
| 4.4.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.