Изучив ситуацию читателя, мы тоже пришли к выводу, что в данном случае стоит использовать одну общую таксономию для нескольких типов записей.
Возьмём данные из вопроса и рассмотрим их на примере. Город может быть связан с любой из сущностей: футбольным полем, магазином, школой или командой.
Для реализации такого функционала потребуется следующий код. В нём мы регистрируем таксономию для нескольких типов записей. Не будем подробно останавливаться на работе этого кода, так как регистрация таксономии является базовой функцией WordPress. Если вы не знакомы с ней, рекомендуем изучить документацию.
function register_city_taxonomy() {
$labels = array(
'name' => _x('Город', 'taxonomy general name'),
'singular_name' => _x('Город', 'taxonomy singular name'),
'search_items' => __('Поиск города'),
'all_items' => __('Все города'),
'parent_item' => __('Родительский город'),
'parent_item_colon' => __('Родительский город:'),
'edit_item' => __('Редактировать город'),
'update_item' => __('Обновить город'),
'add_new_item' => __('Добавить новый город'),
'new_item_name' => __('Новое название города'),
'menu_name' => __('Города'),
);
$args = array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'city'),
);
register_taxonomy('city', array('venue', 'football-market', 'football-school', 'football-team'), $args); //передаем типы записей, у которых должна быть данная таксономия
}
add_action('init', 'register_city_taxonomy');
Данный код необходимо добавить в файл functions.php вашей темы, указав нужные типы записей и параметры таксономии.
После сохранения изменений не забудьте обновить структуру постоянных ссылок в WordPress (Настройки → Постоянные ссылки → Сохранить изменения). Это необходимо для применения правок в файле .htaccess. Если всё сделано правильно, таксономия «Город» будет отображаться для указанных типов записей.




