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
Де використовується хук у WordPress
Використання не знайдено.