WP_REST_Global_Styles_Controller::get_theme_item() – Returns the given theme global styles config.

You appear to be a bot. Output may be restricted

Description

Returns the given theme global styles config.

Usage

$WP_REST_Response|WP_Error = WP_REST_Global_Styles_Controller::get_theme_item( $request );

Parameters

$request
( WP_REST_Request ) required – The request instance.

Returns

WP_REST_Response|WP_Error

Source

File name: wordpress/wp-includes/rest-api/endpoints/class-wp-rest-global-styles-controller.php


Lines:

1 to 44 of 44
  public function get_theme_item( $request ) {
    if ( wp_get_theme()->get_stylesheet() !== $request['stylesheet'] ) {
      // This endpoint only supports the active theme for now.
      return new WP_Error(
        'rest_theme_not_found',
        __( 'Theme not found.' ),
        array( 'status' => 404 )
      );
    }

    $theme  = WP_Theme_JSON_Resolver::get_merged_data( 'theme' );
    $data   = array();
    $fields = $this->get_fields_for_response( $request );

    if ( rest_is_field_included( 'settings', $fields ) ) {
      $data['settings'] = $theme->get_settings();
    }

    if ( rest_is_field_included( 'styles', $fields ) ) {
      $raw_data       = $theme->get_raw_data();
      $data['styles'] = isset( $raw_data['styles'] ) ? $raw_data['styles'] : array();
    }

    $context = ! empty( $request['context'] ) ? $request['context'] : 'view';
    $data    = $this->add_additional_fields_to_object( $data, $request );
    $data    = $this->filter_response_by_context( $data, $context );

    $response = rest_ensure_response( $data );

    $links = array(
      'self' => array(
        'href' => rest_url( sprintf( '%s/%s/themes/%s', $this->namespace, $this->rest_base, $request['stylesheet'] ) ),
      ),
    );

    $response->add_links( $links );

    return $response;
  }
 

 View on GitHub View on Trac