Пользовательский api конечных точек для получения всех тем из word-press, возвращающего значение false

Вот пользовательские конечные точки, которые я создал здесь для получения всех тем. Но в json он не возвращает ожидаемого результата.

add_action( ‘rest_api_init’, function () {
//Path to rest endpoint
register_rest_route( ‘theme/v1’, ‘/get_theme_list/’, array(
‘methods’ => ‘GET’,
‘callback’ => ‘theme_list_function’
) );
});
// Our function to get the themes
function theme_list_function(){
// Get a list of themes
$list = wp_get_themes();
// Return the value
return $list;
}

?>

Если я просто вижу функцию wp_get_themes (), она вернет все темы и их описание в массивах. и он отлично возвращается в массивах, но когда я кодирую это в json для передачи данных, он возвращает только ключи массива.

Создание только ключевого имени таким образом

All: {"basepress":{"update":false},"codilight-lite":{"update":false},"twentyfifteen":{"update":false},"twentyseventeen":{"update":false},"twentysixteen-child":{"update":false},"twentysixteen":{"update":false}}

Мне нужна вся информация по темам.

Как я могу сделать это с помощью пользовательских конечных точек REST.

Пожалуйста помоги.

над кодом, возвращающим всю информацию.

Vel 11.04.2018 12:00

@vel приведенный выше код отлично работает для возврата массивов, если я собираюсь кодировать его в json, поэтому он не дает ответа в соответствии с массивами в параметре обновлений, он дает ложное значение, а в массиве он возвращает все значения.

Krishna Ballabh Gupta 11.04.2018 12:21
1
2
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте этот код

add_action( 'rest_api_init', function () {
//Path to rest endpoint
    register_rest_route( 'theme/v1', '/get_theme_list/', array('methods' => 'GET','callback' => 'theme_list_function') );
});
// Our function to get the themes
function theme_list_function(){
    // Get a list of themes
    $list = wp_get_themes();

    $varTheme = array();

    foreach($list as $theme=>$value){
        $varTheme[$theme] = (array)$value;
    }
    return $varTheme;
}

Спасибо @vel. Теперь я могу получить всю информацию о теме, кроме пути к изображению функции внешнего вида, как я могу это получить.

Krishna Ballabh Gupta 11.04.2018 13:54

это имя по умолчанию - screenshot.png, и, кстати, wp_get_themes не возвращает значение. вы можете использовать theme_url/ screenshot.png, чтобы получить theme appearance feature image path

Vel 11.04.2018 14:00

Другие вопросы по теме