rest_prepare_taxonomy хук-фільтрWP 4.7.0

Дозволяє змінювати дані таксономії при запиті 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 ).

Приклади

0

#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

Використання не знайдено.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *