_make_cat_compat()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
_make_cat_compat( array|object|WP_Term $category )
Описание
Эта функция была добавлена для поддержки таксономии, чтобы обновлять новую структуру рубрики старой. Это сохраняет совместимость с плагинами и темами, зависящими от старых имён ключей или свойств.
В параметр следует передавать только переменную, а не создавать массив или объект прямо в параметре. Причина в том, что параметр передаётся по ссылке, и PHP выдаст ошибку, если переменной нет.
Возвращаемого значения нет, потому что всё обновляется в переданной вами переменной. Это одна из особенностей передачи по ссылке в PHP.
Оригинал (английский)
This function was added for the taxonomy support to update the new category structure with the old category one. This will maintain compatibility with plugins and themes which depend on the old key or property names.
The parameter should only be passed a variable and not create the array or object inline to the parameter. The reason for this is that parameter is passed by reference and PHP will fail unless it has the variable.
There is no return value, because everything is updated on the variable you pass to it. This is one of the features with using pass by reference in PHP.
Параметры
$category
array|object|WP_Term
обязательный
Исходный код
wp-includes/category.php:378
function _make_cat_compat( &$category ) {
if ( is_object( $category ) && ! is_wp_error( $category ) ) {
$category->cat_ID = $category->term_id;
$category->category_count = $category->count;
$category->category_description = $category->description;
$category->cat_name = $category->name;
$category->category_nicename = $category->slug;
$category->category_parent = $category->parent;
} elseif ( is_array( $category ) && isset( $category['term_id'] ) ) {
$category['cat_ID'] = &$category['term_id'];
$category['category_count'] = &$category['count'];
$category['category_description'] = &$category['description'];
$category['cat_name'] = &$category['name'];
$category['category_nicename'] = &$category['slug'];
$category['category_parent'] = &$category['parent'];
}
}
История изменений
| Версия | Описание |
|---|---|
| 4.4.0 | The $category parameter now also accepts a WP_Term object. |
| 2.3.0 | Introduced. |

