get_object_term_cache()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
get_object_term_cache( int $id, string $taxonomy ): bool|WP_Term[]|WP_Error
Описание
Вышестоящие функции (такие как get_the_terms() и is_object_in_term()) отвечают за заполнение кеша связей объектов с терминами. Эта функция извлекает только те данные о связях, которые уже находятся в кеше.
Оригинал (английский)
Upstream functions (like get_the_terms() and is_object_in_term() ) are responsible for populating the object-term relationship cache. The current function only fetches relationship data that is already in the cache.
Параметры
$id
int
обязательный
$taxonomy
string
обязательный
Возвращаемое значение
bool|WP_Term[]|WP_Error
Исходный код
wp-includes/taxonomy.php:3771
function get_object_term_cache( $id, $taxonomy ) {
$_term_ids = wp_cache_get( $id, "{$taxonomy}_relationships" );
// We leave the priming of relationship caches to upstream functions.
if ( false === $_term_ids ) {
return false;
}
// Backward compatibility for if a plugin is putting objects into the cache, rather than IDs.
$term_ids = array();
foreach ( $_term_ids as $term_id ) {
if ( is_numeric( $term_id ) ) {
$term_ids[] = (int) $term_id;
} elseif ( isset( $term_id->term_id ) ) {
$term_ids[] = (int) $term_id->term_id;
}
}
// Fill the term objects.
_prime_term_caches( $term_ids );
$terms = array();
foreach ( $term_ids as $term_id ) {
$term = get_term( $term_id, $taxonomy );
if ( is_wp_error( $term ) ) {
return $term;
}
$terms[] = $term;
}
return $terms;
}
История изменений
| Версия | Описание |
|---|---|
| 4.7.0 | Returns a WP_Error object if there’s an error with any of the matched terms. |
| 2.3.0 | Introduced. |

