Главная Новости

Register_taxonomy() - создание таксономии в WordPress


Опубликовано: 01.09.2018

видео register_taxonomy() - создание таксономии в WordPress

How to Create Taxonomies for a Custom Post Type

Что такое таксономия? Рубрики, метки — это и есть таксономии.

То есть получается, что заюзав упомянутую функцию, можно создать абсолютно независимые категории (или метки), с отдельным интерфейсом.


Что такое Taxonomy. Функция register_taxonomy()

Короче говоря, когда во время разработки сайта начинает не хватать стандартных рубрик и меток — создаём таксономии.

register_taxonomy ( $taxonomy , $object_type , $args ) ;

$taxonomy

(строка) Название таксономии. Не должно содержать пробелов и заглавных букв.

$object_type

(массив/строка) Тип объекта (или объектов), для которых создаётся таксономия. По умолчанию в WordPress существуют следующие типы:

post page mediapage attachment revision nav_menu_item

Также допускается возможность создания своего собственного объекта

$args

(массив) Список параметров.

Не хочу простым текстом перечислять все параметры, лучше перейдём к примеру и там сразу же и разберёмся.

function add_new_taxonomies ( ) { /* создаем функцию с произвольным именем и вставляем в неё register_taxonomy() */ register_taxonomy ( 'platform' , array ( 'post' ) , array ( 'hierarchical' => false , /* true - по типу рубрик, false - по типу меток, по умолчанию - false */ 'labels' => array ( /* ярлыки, нужные при создании UI, можете не писать ничего, тогда будут использованы ярлыки по умолчанию */ 'name' => 'Игровые платформы' , 'singular_name' => 'Платформа' , 'search_items' => 'Найти платформу' , 'popular_items' => 'Популярные платформы' , 'all_items' => 'Все платформы' , 'parent_item' => null , 'parent_item_colon' => null , 'edit_item' => 'Редактировать платформу' , 'update_item' => 'Обновить платформу' , 'add_new_item' => 'Добавить новую платформу' , 'new_item_name' => 'Название новой платформы' , 'separate_items_with_commas' => 'Разделяйте платформы запятыми' , 'add_or_remove_items' => 'Добавить или удалить платформу' , 'choose_from_most_used' => 'Выбрать из наиболее часто используемых платформ' , 'menu_name' => 'Платформы' ) , 'public' => true , /* каждый может использовать таксономию, либо только администраторы, по умолчанию - true */ 'show_in_nav_menus' => true , /* добавить на страницу создания меню */ 'show_ui' => true , /* добавить интерфейс создания и редактирования */ 'show_tagcloud' => true , /* нужно ли разрешить облако тегов для этой таксономии */ 'update_count_callback' => '_update_post_term_count' , /* callback-функция для обновления счетчика $object_type */ 'query_var' => true , /* разрешено ли использование query_var, также можно указать строку, которая будет использоваться в качестве него, по умолчанию - имя таксономии */ 'rewrite' => array ( /* настройки URL пермалинков */ 'slug' => 'platform' , // ярлык 'hierarchical' => false // разрешить вложенность ) , ) ) ; } add_action ( 'init' , 'add_new_taxonomies' , 0 ) ;

Короче этот код нужно вставить в functions.php, а дальше получится вот что:

1. Пункт в меню для созданной таксономии:

2. При переходе по нему попадаем на страницу, схожую со страницей создание меток/рубрик. Я немного уменьшил окошко, потому что не хотел масштабировать картинку и терять качество.

3. На странице создания записи появляется блок с выбором элементов новой таксономии, в примере — игровых платформ.

Кстати, одно важно замечание, в случае, если вы использовали параметр «rewrite» для пермалинков , вам нужно перейти на страницу редактирования постоянных ссылок в настройках и просто нажать кнопку «Сохранить изменения», либо заюзать один раз flush_rules()

rss