WordPress.org

Make WordPress Core

Changeset 40336


Ignore:
Timestamp:
03/27/17 07:08:54 (9 months ago)
Author:
swissspidy
Message:

REST API: Add gmt_offset and timezone_string to the base /wp-json response.

The site's current timezone offset is an important piece of information for any REST API client that needs to manipulate dates. It has not been
previously available.

Expose both the gmt_offset (the site's current offset from UTC in hours) and timezone_string (which also provides information about daylight
savings time) via the "site info" endpoint (the base /wp-json response).

Also update the wp-api-generated.js fixture file with the changes to the default API responses.

Props sagarkbhatt.
Fixes #39854.

Merges [40238] to the 4.7 branch.

Location:
branches/4.7
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/4.7

  • branches/4.7/src/wp-includes/rest-api/class-wp-rest-server.php

    r39278 r40336  
    10111011        // General site data. 
    10121012        $available = array( 
    1013             'name'           => get_option( 'blogname' ), 
    1014             'description'    => get_option( 'blogdescription' ), 
    1015             'url'            => get_option( 'siteurl' ), 
    1016             'home'           => home_url(), 
    1017             'namespaces'     => array_keys( $this->namespaces ), 
    1018             'authentication' => array(), 
    1019             'routes'         => $this->get_data_for_routes( $this->get_routes(), $request['context'] ), 
     1013            'name'            => get_option( 'blogname' ), 
     1014            'description'     => get_option( 'blogdescription' ), 
     1015            'url'             => get_option( 'siteurl' ), 
     1016            'home'            => home_url(), 
     1017            'gmt_offset'      => get_option( 'gmt_offset' ), 
     1018            'timezone_string' => get_option( 'timezone_string' ), 
     1019            'namespaces'      => array_keys( $this->namespaces ), 
     1020            'authentication'  => array(), 
     1021            'routes'          => $this->get_data_for_routes( $this->get_routes(), $request['context'] ), 
    10201022        ); 
    10211023 
  • branches/4.7/tests/phpunit/tests/rest-api/rest-server.php

    r38947 r40336  
    647647        $this->assertArrayHasKey( 'url', $data ); 
    648648        $this->assertArrayHasKey( 'home', $data ); 
     649        $this->assertArrayHasKey( 'gmt_offset', $data ); 
     650        $this->assertArrayHasKey( 'timezone_string', $data ); 
    649651        $this->assertArrayHasKey( 'namespaces', $data ); 
    650652        $this->assertArrayHasKey( 'authentication', $data ); 
  • branches/4.7/tests/qunit/fixtures/wp-api-generated.js

    r40137 r40336  
    1111    "url": "http://example.org", 
    1212    "home": "http://example.org", 
     13    "gmt_offset": "0", 
     14    "timezone_string": "", 
    1315    "namespaces": [ 
    1416        "oembed/1.0", 
Note: See TracChangeset for help on using the changeset viewer.