rest_prepare_(taxonomy)
Дозволяє змінити дані терміна у відповіді REST API (безпосередньо перед поверненням).
Назва фільтра формується динамічно виходячи з імені таксономії. Наприклад:
- rest_prepare_category (для стандартних рубрик, таксономія категорії).
- rest_prepare_post_tag (для стандартних міток, таксономія post_tag).
Використання
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_Term $item Оригінальний термін об'єкта. * @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) - Об’єкт відповіді.
-
$item
(WP_Term) - Об’єкт терміна.
-
$request
(WP_REST_Request) - Об’єкт запиту, що використовується для створення відповіді.
Приклади
#1 Додамо в назву рубрик мову від Polylang при запиту REST
add_filter( 'rest_prepare_category', 'filter_rest_name_category', 10, 3); /** * Змінює назву рубрики при REST запиті в адмінці у віджеті "Рубрики" і т.д. * * @param WP_REST_Response $response * @param WP_Term $item * @param WP_REST_Request $request * * @return WP_REST_Response */ function filter_rest_name_category( $response, $item, $request ) { // Якщо Polylang не активовано - нічого не робимо. if ( ! function_exists( 'pll_get_term_language' ) ) { return $response; } // Якщо це створення нового запису чи редагування старої - нічого не робимо. $referer = $request->get_header( 'referer'); $post_new = '/wp-admin/post-new.php'; $post_edit = '/wp-admin/post.php'; if ( strpos( $referer, $post_new ) === false && strpos( $referer, $post_edit ) === false ) { return $response; } // Отримуємо код мови (ru_RU, en_US тощо). $lang = pll_get_term_language( $item->term_id, 'locale'); // Додаємо до імені рубрики інформацію про її мову. $response->data['name'] .= "($lang)"; // Повертаємо модифіковану відповідь. return $response; }
список змін
З версії 4.7.0 | Введено. |
Де викликається хук
rest_prepare_(taxonomy)
rest_prepare_(taxonomy)
Де використовується хук у WordPress
Використання не знайдено.