При доработке сторонних плагинов или купленной темы. Мы можем столкнуться с ситуацией, когда к созданному нами кастомному типу записи (в нашем случае “фрукты” см. эту статью). Нужно прикрепить ранее (кем-то другим) созданную таксономию (в нашем примере “дерево”).
Есть два варианта решения данной задачи:
- Мы можем отредактировать существующий код. Что есть нехорошо, т.к. при обновлении плагина или темы, наши правки “слетят” и придется все изменения вносить по новой (если вспомним за них).
- Используя Хуки и Фильтры WordPress внести нужные нам правки.
В коротком примере ниже, расположен весь необходимый нам код.
add_action('init', function()
{
register_taxonomy_for_object_type('tree', 'fruit');
});
add_filter('register_taxonomy_args', function($args, $taxonomy)
{
if($taxonomy == 'tree')
{
$args['show_admin_column'] = true;
}
return $args;
}, 10, 2);Рассмотрим его более детально:
add_action('init', function()
{
register_taxonomy_for_object_type('tree', 'fruit');
});Функция WP ядра “register_taxonomy_for_object_type” обеспечивает привязку таксономии к типу записи. Т.е. используя ее вы можете привязать разные типы записи и таксономии друг к другу (это не обязательно делать через функцию регистрации таксономии).
Следующий код, обеспечивает отображение колонки таксономии “Дерева” в таблице со списком постов “Фрукты”:
add_filter('register_taxonomy_args', function($args, $taxonomy)
{
if($taxonomy == 'tree')
{
$args['show_admin_column'] = true;
}
return $args;
}, 10, 2);На этом все.
