Как добавить произвольный тип записей в WordPress

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

Добавляем произвольный тип записей в WordPress

Для того чтобы добавить произвольный тип записей в WordPress, достаточно скопировать код, который я приведу ниже, и добавить его в файл вашей темы functions.php (если такого файла у вас нет - просто создайте его):

/* Регистрируем Аксессуары и таксономию для них
-----------------------------------------------*/
add_action('init', 'acsessuar');
function acsessuar()
{
  $labels = array(
    'name' => 'Аксессуары',
    'singular_name' => 'Аксессуар',
    'add_new' => 'Добавить аксессуар',
    'add_new_item' => 'Добавить новый аксессуар',
    'edit_item' => 'Редактировать аксессуар',
    'new_item' => 'Новый аксессуар',
    'view_item' => 'Посмотреть аксессуар',
    'search_items' => 'Найти аксессуар',
    'not_found' =>  'Аксессуаров не найдено',
    'not_found_in_trash' => 'В корзине аксессуаров не найдено',
    'parent_item_colon' => '',
    'menu_name' => 'Аксессуары'
  );

  $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'show_in_menu' => true,
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'has_archive' => true,
    'hierarchical' => false,
    'menu_position' => 5,
    'supports' => array('title','editor','thumbnail', 'comments'),
	'taxonomies' => array('accessories') 
  );
  register_post_type('acsessuar',$args);  
}

// Создаем новую таксономию для аксессуаров
add_action( 'init', 'create_acsessuar_taxonomies', 0 );

function create_acsessuar_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('accessories', array('acsessuar'), array(
    'hierarchical' => true,
    'labels' => $labels,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'accessories' ),
  ));

}

Повторюсь, этот код нужно разместить в файле functions.php, в самый конец файла. Этот код добавит произвольный тип записей для WordPress, в данном случае "Аксессуары", и произвольную таксономию для произвольного типа записей.

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

Как вывести записи произвольного типа

Читайте в следующей статье, как вывести записи произвольного типа на отдельной странице.