rest_prepare_taxonomy
Дозволяє змінювати дані таксономії при запиті REST безпосередньо перед їх поверненням.
Використовується при запиті REST таксономії .
Використання
add_filter( 'rest_prepare_taxonomy', 'wp_kama_rest_prepare_taxonomy_filter', 10, 3);
/**
* Function for `rest_prepare_taxonomy` filter-hook.
*
* @param WP_REST_Response $response The response object.
* @param WP_Taxonomy $item Оригінальний taxonomy об'єкт.
* @param WP_REST_Request $request Request використовується для створення відповіді.
*
* @return WP_REST_Response
*/
function wp_kama_rest_prepare_taxonomy_filter( $response, $item, $request ){
// Filter...
return $response;
}
-
$response
(WP_REST_Response) -
Об’єкт відповіді (
WP_REST_Response ). -
$item
(WP_Taxonomy) -
Об’єкт таксономії (
WP_Taxonomy ). -
$request
(WP_REST_Request) -
Запит, що використовується для створення відповіді (
WP_REST_Request ).
Приклади
#1 Додамо у відповідь REST API властивість labels таксономії category
add_filter( 'rest_prepare_taxonomy', 'filter_rest_prepare_taxonomy', 10, 3);
/**
* Додає у відповідь REST API властивість labels таксономії category.
*
* @param WP_REST_Response $response The response object.
* @param WP_Taxonomy $taxonomy Оригінальний taxonomy об'єкт.
* @param WP_REST_Request $request Request використовується для створення відповіді.
*
* @return WP_REST_Response
*/
function filter_rest_prepare_taxonomy( $response, $taxonomy, $request ) {
if ( 'category' === $taxonomy->name ) {
$response->data['labels'] = $taxonomy->labels;
}
return $response;
}
Тепер при зверненні на адресу домен/wp-json/wp/v2/taxonomies/category
отримаємо json:
{
"name": "Рубрики",
"slug": "category",
"description": "",
"types": [
"post"
],
"hierarchical": true,
"rest_base": "categories",
"labels": {
"name": "Рубрики",
"singular_name": "Рубрика",
"search_items": "Пошук рубрик",
"popular_items": null,
"all_items": "Всі рубрики",
"parent_item": "Батьківська рубрика",
"parent_item_colon": "Батьківська рубрика:",
"edit_item": "Змінити рубрику",
"view_item": "Переглянути рубрику",
"update_item": "Оновити рубрику",
"add_new_item": "Додати нову рубрику",
"new_item_name": "Назва нової рубрики",
"separate_items_with_commas": null,
"add_or_remove_items": null,
"choose_from_most_used": null,
"not_found": "Рубрик не знайдено.",
"no_terms": "Рубрик немає",
"filter_by_item": "Фільтр за рубрикою",
"items_list_navigation": "Навігація за списком рубрик",
"items_list": "Список рубрик",
"most_used": "Часто використовувані",
"back_to_items": "← Перейти до рубрик",
"menu_name": "Рубрики",
"name_admin_bar": "category"
},
"_links": {
"collection": [
{
"href": "https://wp-test.ru/wp-json/wp/v2/taxonomies"
}
],
"wp:items": [
{
"href": "https://wp-test.ru/wp-json/wp/v2/categories"
}
],
"curies": [
{
"name": "wp",
"href": "https://api.w.org/{rel}",
"templated": true
}
]
}
}
список змін
З версії 4.7.0 | Введено. |
Де викликається хук
rest_prepare_taxonomy