Расширение ответа REST API в WordPress
function add_category_and_tag_names_to_posts($response, $post, $request) {
// Проверяем наличие полей категорий и тегов
$category_ids = $response->data['categories'] ?? [];
$tag_ids = $response->data['tags'] ?? [];
// Инициализируем массивы для хранения названий категорий и тегов
$category_names = [];
$tag_names = [];
// Получаем названия категорий, если категории указаны
if (!empty($category_ids)) {
foreach ($category_ids as $category_id) {
$category = get_term($category_id, 'category');
if ($category && !is_wp_error($category)) {
$category_names[] = $category->name;
}
}
}
// Получаем названия тегов, если теги указаны
if (!empty($tag_ids)) {
foreach ($tag_ids as $tag_id) {
$tag = get_term($tag_id, 'post_tag');
if ($tag && !is_wp_error($tag)) {
$tag_names[] = $tag->name;
}
}
}
// Добавляем новые поля с названиями категорий и тегов в ответ API
$response->data['category_names'] = $category_names;
$response->data['tag_names'] = $tag_names;
return $response;
}
add_filter('rest_prepare_post', 'add_category_and_tag_names_to_posts', 10, 3);
WordPress
Обсудим ваш проект?
Не ждите идеального момента или подходящего времени — начинайте прямо сейчас! Свяжитесь со мной, и я помогу воплотить ваши идеи в реальность.