Изображение готовится
Описание
Примечание. Вероятно, вам не понадобится этот плагин. REST API уже поддерживает добавление параметра запроса ?_embed к вашему URL-адресу, и тогда ответ будет включать все "встроенные медиафайлы", включая избранное изображение, и данные, которые вы там получите, - это именно то, что дает вам этот плагин. Единственная причина использовать этот плагин на этом этапе - это если вы предпочитаете, чтобы данные избранного изображения находились в поле верхнего уровня ответа, а не среди других встроенных медиафайлов в поле _embedded, и если вы всегда хотите, чтобы данные избранного изображения были в ответе, а не запрашивать их с помощью ?_embed. Я до сих пор использую этот плагин, потому что обычно мне нужны обе эти вещи, но обязательно попробуйте ?_embed перед использованием этого плагина.
Версия 2 WordPress REST API по умолчанию возвращает поле Featured_media (ранее Featured_image) в объекте публикации, но это поле представляет собой просто идентификатор изображения.
Этот плагин добавляет поле Better_featured_image к объекту сообщения, которое содержит доступные размеры изображений и URL-адреса, что позволяет вам получить эту информацию без повторного запроса.
Требуется это:
"featured_media": 13,
И превращает это в следующее:
"featured_media": 13,
"better_featured_image": {
"идентификатор": 13,
"alt_text": "Воздушные шары",
"caption": "На мероприятии были проведены полеты на воздушном шаре",
"description": "Воздушные шары с большого мероприятия",
"media_type": "изображение",
"media_details": {
"ширина": 5760,
"высота": 3840,
"file": "2015/09/balloons.jpg",
"размеры": {
"миниатюра": {
"file": "balloons-150x150.jpg",
"ширина": 150,
"высота": 150,
"mime-type": "image/jpeg",
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons-150x150.jpg"
},
"средний": {
"file": "balloons-300x200.jpg",
"ширина": 300,
"высота": 200,
"mime-type": "image/jpeg",
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons-300x200.jpg"
},
"большой": {
"file": "balloons-1024x683.jpg",
"ширина": 1024,
"высота": 683,
"mime-type": "image/jpeg",
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons-1024x683.jpg"
},
"пост-миниатюра": {
"file": "balloons-825x510.jpg",
"ширина": 825,
"высота": 510,
"mime-type": "image/jpeg",
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons-825x510.jpg"
}
},
"image_meta": {
"диафрагма": 6,3,
"кредит": "",
"камера": "Canon EOS 5D Mark III",
"caption": "",
"create_timestamp": 1433110262,
"авторское право": "",
"focal_length": "50",
"изо": "100",
"shutter_speed": "0,004",
"title": "",
"ориентация": 1
}
},
"пост": ноль,
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons.jpg"
},
Формат ответа почти идентичен тому, который вы получите, отправив запрос на /wp-json/wp/v2/media/13 или используя ?_embed. Если в публикации не установлено избранное изображение, поле Better_featured_image будет иметь значение null.
Я провел несколько базовых тестов производительности, которые показали, что разница во времени отклика с этим плагином и без него составляет около 10-15 мс для набора из 10 сообщений и 0-5 мс для одного сообщения. Для меня это намного быстрее, чем делать второй запрос к /media/, особенно для нескольких сообщений.
Начиная с версии 1.1.0 существует фильтр Better_rest_api_featured_image, который позволяет добавлять пользовательские данные в поле Better_featured_image. Фильтр находится непосредственно в возвращаемом значении функции, которая возвращает поле Better_featured_image. Это можно использовать для таких действий, как добавление в ответ пользовательских мета-изображений или SVG-версии изображения. Вот пример того, как вы можете его использовать:
add_filter("better_rest_api_featured_image", "xxx_modify_rest_api_featured_image", 10, 2);
/**
* Измените ответ на изображение Better REST API.
*
* @param array $featured_image Массив данных изображения.
* @param int $image_id Идентификатор изображения.
*
* @return array Измененные данные изображения.
*/
функция xxx_modify_rest_api_featured_image($featured_image, $image_id) {
// Добавляем поле extra_data_string со строковым значением.
$featured_image["extra_data_string"] = "Пользовательское значение.";
// Добавляем поле extra_data_array со значением массива.
$featured_image["extra_data_array"] = массив(
"custom_key" => "Пользовательское значение.",
);
вернуть $featured_image;
}
Этот плагин доступен на Github, и запросы на включение всегда приветствуются.
Версия 2 WordPress REST API по умолчанию возвращает поле Featured_media (ранее Featured_image) в объекте публикации, но это поле представляет собой просто идентификатор изображения.
Этот плагин добавляет поле Better_featured_image к объекту сообщения, которое содержит доступные размеры изображений и URL-адреса, что позволяет вам получить эту информацию без повторного запроса.
Требуется это:
"featured_media": 13,
И превращает это в следующее:
"featured_media": 13,
"better_featured_image": {
"идентификатор": 13,
"alt_text": "Воздушные шары",
"caption": "На мероприятии были проведены полеты на воздушном шаре",
"description": "Воздушные шары с большого мероприятия",
"media_type": "изображение",
"media_details": {
"ширина": 5760,
"высота": 3840,
"file": "2015/09/balloons.jpg",
"размеры": {
"миниатюра": {
"file": "balloons-150x150.jpg",
"ширина": 150,
"высота": 150,
"mime-type": "image/jpeg",
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons-150x150.jpg"
},
"средний": {
"file": "balloons-300x200.jpg",
"ширина": 300,
"высота": 200,
"mime-type": "image/jpeg",
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons-300x200.jpg"
},
"большой": {
"file": "balloons-1024x683.jpg",
"ширина": 1024,
"высота": 683,
"mime-type": "image/jpeg",
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons-1024x683.jpg"
},
"пост-миниатюра": {
"file": "balloons-825x510.jpg",
"ширина": 825,
"высота": 510,
"mime-type": "image/jpeg",
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons-825x510.jpg"
}
},
"image_meta": {
"диафрагма": 6,3,
"кредит": "",
"камера": "Canon EOS 5D Mark III",
"caption": "",
"create_timestamp": 1433110262,
"авторское право": "",
"focal_length": "50",
"изо": "100",
"shutter_speed": "0,004",
"title": "",
"ориентация": 1
}
},
"пост": ноль,
"source_url": "http://api.example.com/wp-content/uploads/2015/09/balloons.jpg"
},
Формат ответа почти идентичен тому, который вы получите, отправив запрос на /wp-json/wp/v2/media/13 или используя ?_embed. Если в публикации не установлено избранное изображение, поле Better_featured_image будет иметь значение null.
Я провел несколько базовых тестов производительности, которые показали, что разница во времени отклика с этим плагином и без него составляет около 10-15 мс для набора из 10 сообщений и 0-5 мс для одного сообщения. Для меня это намного быстрее, чем делать второй запрос к /media/, особенно для нескольких сообщений.
Начиная с версии 1.1.0 существует фильтр Better_rest_api_featured_image, который позволяет добавлять пользовательские данные в поле Better_featured_image. Фильтр находится непосредственно в возвращаемом значении функции, которая возвращает поле Better_featured_image. Это можно использовать для таких действий, как добавление в ответ пользовательских мета-изображений или SVG-версии изображения. Вот пример того, как вы можете его использовать:
add_filter("better_rest_api_featured_image", "xxx_modify_rest_api_featured_image", 10, 2);
/**
* Измените ответ на изображение Better REST API.
*
* @param array $featured_image Массив данных изображения.
* @param int $image_id Идентификатор изображения.
*
* @return array Измененные данные изображения.
*/
функция xxx_modify_rest_api_featured_image($featured_image, $image_id) {
// Добавляем поле extra_data_string со строковым значением.
$featured_image["extra_data_string"] = "Пользовательское значение.";
// Добавляем поле extra_data_array со значением массива.
$featured_image["extra_data_array"] = массив(
"custom_key" => "Пользовательское значение.",
);
вернуть $featured_image;
}
Этот плагин доступен на Github, и запросы на включение всегда приветствуются.
Похожие товары
Смотреть все
Хит продаж
WordPress
Хит продаж
WordPress