ReexyStore

Изображение готовится

WordPress

Better REST API Featured Images v1.2.1

34
1
02.01.2026
Бесплатно FREE
Безопасно
Мгновенно
Поддержка
Версия 1.2.1
Размер файла 9.7 KB
Категория WordPress

Описание

Примечание. Вероятно, вам не понадобится этот плагин. 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, и запросы на включение всегда приветствуются.

Похожие товары

Смотреть все
Admin and Site Enhancements Pro v7.4.8 Хит продаж

Admin and Site Enhancements Pro v7.4.8

Мощный модульный плагин для WordPress, заменяющий десятки других плагинов. Настройка админки, оптимизация, безопасность — всё в одном.

Бесплатно
Ultimate Membership Pro v13.4 Хит продаж

Ultimate Membership Pro v13.4

Мощный плагин для создания платных подписок и членства на WordPress. Ограничение контента, рекуррентные платежи, интеграция с WooCommerce.

Бесплатно
Contact Form 7 v6.1.4 Хит продаж

Contact Form 7 v6.1.4

Бесплатно
WooCommerce v10.4.2 Хит продаж

WooCommerce v10.4.2

Бесплатно