seomix.

Расширение ответа 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

Обсудим ваш проект?

Не ждите идеального момента или подходящего времени — начинайте прямо сейчас! Свяжитесь со мной, и я помогу воплотить ваши идеи в реальность.