Добавление таксономии в WordPress – урок 26
Продолжаем разрабатывать портфолио в шаблоне и в этом уроке я расскажу о том как настроить категории для ваших работ. Для произвольных типов категории можно сделать при помощи функции для настройки таксономии register_taxonomy().
Таксономия может отображаться как категории и как теги, в нашем случаи нам нужны будут категории под номером [1].
Давайте я добавлю код и как в предыдущем уроке расскажу, что необходимо делать.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
// Register Custom Taxonomy function category_portfolio() { $labels = array( 'name' => _x( 'Categories', 'Taxonomy General Name', 'category_portfolio' ), 'singular_name' => _x( 'category', 'Taxonomy Singular Name', 'category_portfolio' ), 'menu_name' => __( 'Category', 'category_portfolio' ), 'all_items' => __( 'All category', 'category_portfolio' ), 'parent_item' => __( 'Parent category', 'category_portfolio' ), 'parent_item_colon' => __( 'Parent category:', 'category_portfolio' ), 'new_item_name' => __( 'New category name', 'category_portfolio' ), 'add_new_item' => __( 'Add New category', 'category_portfolio' ), 'edit_item' => __( 'Edit category', 'category_portfolio' ), 'update_item' => __( 'Update category', 'category_portfolio' ), 'separate_items_with_commas' => __( 'Separate category with commas', 'category_portfolio' ), 'search_items' => __( 'Search category', 'category_portfolio' ), 'add_or_remove_items' => __( 'Add or remove category', 'category_portfolio' ), 'choose_from_most_used' => __( 'Choose from the most used categorys', 'category_portfolio' ), 'not_found' => __( 'Not Found category', 'category_portfolio' ), ); $rewrite = array( 'slug' => 'portfolio-work', 'with_front' => true, 'hierarchical' => false, ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, 'query_var' => 'category', 'rewrite' => $rewrite, ); register_taxonomy( 'category_portfolio', array( 'my_works' ), $args ); } // Hook into the 'init' action add_action( 'init', 'category_portfolio', 0 ); |
Распишем все аргументы функции
Многие атрибут похожи на атрибуты типа данных.
name — имя таксономии, обычно во множественном числе.
singular_name — имя таксономии, обычно в одиночном числе.
menu_name — название пункта меню.
all_items — текст для описания всех категорий данного типа.
parent_item — текст для родительской категории.
parent_item_colon — текст для родительской категории.
new_item_name — текст для новой категории.
add_new_item — текст для добавления новой категории.
edit_item — текст для редактирования категории.
update_item — текст для обновления категории.
separate_items_with_commas — текст описывающий, что элементы нужно разделять запятыми, это не работает для древовидного типа таксономии.
search_items — текст для поиска категорий.
add_or_remove_items — текст для «удаления или добавления элемента», при отключенном javascript. Не действует для древовидных таксономий.
choose_from_most_used — текст «выберите из часто используемых». Не используется для древовидных таксономий.
not_found — текст появляется, если категорий нет.
slug — ярлык для ссылки (portfolio-work).
with_front — позволяет установить префикс для постоянной ссылки, по умолчанию true;
hierarchical — true или false включает древовидные URL. При необходимости будем разбирать, пока примите на веру.
public — показывать ли эту таксономию в панели администратора.
show_ui — показывать блок управления этой таксономией в админке.
show_admin_column — указываем добавлять или не добавлять колонку в записи с данными таксономии.
show_in_nav_menus — true даст возможность выбирать элементы этой таксономии в навигационном меню.
show_tagcloud — показать таксономии в виджете облака тегов.
В следующих уроках мы научимся выводить работы из портфолио в виде решетки, но делать это мы будем также в ручную и без плагинов.

/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.