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
Використання не знайдено.