WP_UPDATE_TERM_COUNT() │ WP 2.3.0
Функция wp_update_term_count() обновляет количество терминов в таксономии WordPress. Таксономия — это способ группировки контента, например, категории и теги.
Что делает эта функция?
Когда вы вызываете эту функцию, она считает, сколько терминов связано с определённым идентификатором термина, и затем обновляет базу данных. Если для таксономии применён обратный вызов, он будет вызван для обновления счетчика.
Возвращаемое значение
- true или false: Если нет терминов, функция вернет false. Если всё прошло успешно, будет возвращено true.
Использование функции
Синтаксис
wp_update_term_count( $terms, $taxonomy, $do_deferred );
Параметры
- $terms (int|array) (обязательный): ID терминов или массив с ID терминов, которые нужно обновить.
- $taxonomy (string) (обязательный): Контекст термина (например, "category").
- $do_deferred (true|false): Указывает, нужно ли сбрасывать отложенные вычисления количества терминов. По умолчанию false.
Пример
Обновление количества постов в категориях
Например, если вы добавляете новый пост, вы можете обновить количество постов в категориях 12 и 13, используя следующую функцию:
wp_update_term_count( [ 12, 13 ], 'category' );
Как работает функция
Код функции
Вот как выглядит код функции wp_update_term_count():
function wp_update_term_count( $terms, $taxonomy, $do_deferred = false ) {
static $_deferred = array();
if ( $do_deferred ) {
foreach ( (array) array_keys( $_deferred ) as $tax ) {
wp_update_term_count_now( $_deferred[ $tax ], $tax );
unset( $_deferred[ $tax ] );
}
}
if ( empty( $terms ) ) {
return false;
}
if ( ! is_array( $terms ) ) {
$terms = array( $terms );
}
if ( wp_defer_term_counting() ) {
if ( ! isset( $_deferred[ $taxonomy ] ) ) {
$_deferred[ $taxonomy ] = array();
}
$_deferred[ $taxonomy ] = array_unique( array_merge( $_deferred[ $taxonomy ], $terms ) );
return true;
}
return wp_update_term_count_now( $terms, $taxonomy );
}
Связанные функции
Существует множество функций, связанных с терминами и таксономиями в WordPress:
- category_exists(): Проверяет, существует ли категория.
- get_term(): Получает информацию о термине.
- get_terms(): Получает список терминов.
- has_term(): Проверяет, есть ли у объекта определённый термин.
- wp_insert_category(): Добавляет новую категорию.
Заключение
Функция wp_update_term_count() полезна для обновления счетчиков терминов в таксономиях и служит важным инструментом для под��ержки актуальности данных на вашем сайте. Применение этой функции поможет правильно учитывать количество постов по категориям и тегам.