Создать рубрику к определённому типу записи
function add_new_taxonomies() {
/* создаем функцию с произвольным именем и вставляем
в неё register_taxonomy() */
register_taxonomy('artists',
array('picture'),
array(
'hierarchical' => true,
/* 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' => 'artists', // ярлык
'hierarchical' => true // разрешить вложенность
),
)
);
}
add_action( 'init', 'add_new_taxonomies', 0 );
в функшн
или
add_action( 'init', 'create_project_taxonomies', 0 );
function create_project_taxonomies(){
$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' => __( 'Категории проектов' ),
);
register_taxonomy('projects', array('project'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'projects' ),
));
}
Добавить несколько категорий к одному типу записи
add_action( 'init', 'create_job_taxonomies', 0 );
function create_job_taxonomies(){
$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' => __( 'Местоположение' ),
);
register_taxonomy('location', array('job'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'location' ),
));
$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' => __( 'Возраст' ),
);
register_taxonomy('age', array('job'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'age' ),
));
}