WordPress.org

Make WordPress Core


Ignore:
Timestamp:
10/21/2018 03:02:49 PM (8 months ago)
Author:
danielbachhuber
Message:

REST API: Render response in user locale with ?_locale=user.

Introduces new determine_locale() function for deciding the proper locale to use for a response. Default value is get_user_locale() in the admin, and get_locale() on the frontend. Because REST API requests are considered frontend requests, ?_locale=user can be used to render the response in the user's locale.

Also updates wp-login.php?wp_lang implementation to benefit from this abstraction.

Props flixos90, mnelson4, swissspidy, TimothyBlynJacobs.
Fixes #44758.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/5.0/src/wp-includes/class-wp-locale-switcher.php

    r41289 r43776  
    4646     */
    4747    public function __construct() {
    48         $this->original_locale     = is_admin() ? get_user_locale() : get_locale();
     48        $this->original_locale     = determine_locale();
    4949        $this->available_languages = array_merge( array( 'en_US' ), get_available_languages() );
    5050    }
     
    6868     */
    6969    public function switch_to_locale( $locale ) {
    70         $current_locale = is_admin() ? get_user_locale() : get_locale();
     70        $current_locale = determine_locale();
    7171        if ( $current_locale === $locale ) {
    7272            return false;
Note: See TracChangeset for help on using the changeset viewer.