В моей последней статье я писала о создании пользовательских типов записей в WordPress. Я рекомендую вам прочитать эту статью, прежде чем читать дальше. В этой статье я создала пользовательский тип записи «домашние животные». Создадим для них таксономии – рубрики и метки. А также создадим пользовательскую таксономию для стандартных записей.

Пользовательские таксономии

Опять заходим на сайт generatewp.com, выбираем Taxonomy Generator.

Пользовательские Таксономии В WordPress

Вот код, который мы будем использовать для создания пользовательских таксономий в WordPress:

// Register Custom Taxonomy

function custom_taxonomy() {

$labels = array(

‘name’                       => _x( ‘Taxonomies’, ‘Taxonomy General Name’, ‘text_domain’ ),

‘singular_name’              => _x( ‘Taxonomy’, ‘Taxonomy Singular Name’, ‘text_domain’ ),

‘menu_name’                  => __( ‘Taxonomy’, ‘text_domain’ ),

‘all_items’                  => __( ‘All Items’, ‘text_domain’ ),

‘parent_item’                => __( ‘Parent Item’, ‘text_domain’ ),

‘parent_item_colon’          => __( ‘Parent Item:’, ‘text_domain’ ),

‘new_item_name’              => __( ‘New Item Name’, ‘text_domain’ ),

‘add_new_item’               => __( ‘Add New Item’, ‘text_domain’ ),

‘edit_item’                  => __( ‘Edit Item’, ‘text_domain’ ),

‘update_item’                => __( ‘Update Item’, ‘text_domain’ ),

‘view_item’                  => __( ‘View Item’, ‘text_domain’ ),

‘separate_items_with_commas’ => __( ‘Separate items with commas’, ‘text_domain’ ),

‘add_or_remove_items’        => __( ‘Add or remove items’, ‘text_domain’ ),

‘choose_from_most_used’      => __( ‘Choose from the most used’, ‘text_domain’ ),

‘popular_items’              => __( ‘Popular Items’, ‘text_domain’ ),

‘search_items’               => __( ‘Search Items’, ‘text_domain’ ),

‘not_found’                  => __( ‘Not Found’, ‘text_domain’ ),

‘no_terms’                   => __( ‘No items’, ‘text_domain’ ),

‘items_list’                 => __( ‘Items list’, ‘text_domain’ ),

‘items_list_navigation’      => __( ‘Items list navigation’, ‘text_domain’ ),

);

$args = array(

‘labels’                     => $labels,

‘hierarchical’               => false,

‘public’                     => true,

‘show_ui’                    => true,

‘show_admin_column’          => true,

‘show_in_nav_menus’          => true,

‘show_tagcloud’              => true,

);

register_taxonomy( ‘taxonomy’, array( ‘post’ ), $args );

}

add_action( ‘init’, ‘custom_taxonomy’, 0 );

Структура этого кода очень похожа на создание пользовательского типа записей, поэтому, если вы не знаете, что поместить в эти массивы, вернитесь и прочитайте мой пост о создании пользовательских типов записей в WordPress. Есть только две вещи, на которые я хочу обратить внимание.

Во-первых, в функции register_taxonomy необходимо изменить array( ‘post’ ) на array ( ‘your_custom_post_type’ ), в нашем случае «pets», чтобы WordPress знал, что эти пользовательские таксономии связаны с вашим пользовательским типом сообщения, а не со стандартным типом сообщения.

register_taxonomy( ‘taxonomy’, array( ‘pets’ ), $args );

Если вы хотите добавить эту пользовательскую таксономию к стандартному типу post, сохраните массив как array(‘post’). На практике это будет выглядеть так:

Пользовательские Таксономии В WordPress

Второе, что я хочу отметить, — это поле ‘hierarchical’. Если установлено значение false, как показано ниже, ваша пользовательская таксономия будет действовать как «Метки» WordPress, где вы просто вводите слова и разделяете их запятыми. И наоборот, если вы установите его в true, он будет действовать как “рубрики” WordPress, что дает вам возможность создавать родителей и подкатегории.

$args = array(

‘labels’                     => $labels,

‘hierarchical’               => false,

Вы можете копировать и вставлять этот код столько раз, сколько вам нужно, чтобы создать столько таксономий, сколько требуется вашему проекту. Знание того, как контролировать и создавать эти пользовательские типы сообщений и пользовательские таксономии, имеет важное значение.

Давайте создадим в нашем примере рубрику и метки.

Пользовательские Таксономии В WordPress

Пользовательские Таксономии В WordPress

Вот, что у нас появилось в админ-панели

Пользовательские Таксономии В WordPress

В следующей статье я расскажу, как выводить пользовательские записи с помощью WP_Query.