forked from kadukeitor/wp-api-polylang
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplugin.php
49 lines (41 loc) · 993 Bytes
/
plugin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/**
* Plugin Name: WP REST API - Polylang
* Description: Polylang integration for the WP REST API
* Author: Jorge R Garcia
* Author URI:
* Version: 0.0.1
* Plugin URI:
* License: GPL2+
*/
/**
* Init
*/
function polylang_json_api_init()
{
global $polylang;
$default = pll_default_language();
$langs = pll_languages_list();
$cur_lang = $_GET['lang'];
if (!in_array($cur_lang, $langs)) {
$cur_lang = $default;
}
$polylang->curlang = $polylang->model->get_language($cur_lang);
$GLOBALS['text_direction'] = $polylang->curlang->is_rtl ? 'rtl' : 'ltr';
}
/**
* Get available languages
*
* @return array
*/
function polylang_json_api_languages()
{
return pll_languages_list();
}
add_action('rest_api_init', 'polylang_json_api_init');
add_action('rest_api_init', function () {
register_rest_route('polylang/v2', '/languages', array(
'methods' => 'GET',
'callback' => 'polylang_json_api_languages',
));
});