Кастомні типи записів (CPT) у WordPress дозволяють створювати власні сутності — наприклад, «Портфоліо», «Кейси», «Рецепти» або «Події». Вони розширюють стандартні «Пости» та «Сторінки» й надають більше гнучкості для розробників. У цій статті розглянемо, як зареєструвати власний тип запису та таксономію.
1. Реєстрація кастомного типу запису
Додайте наступний код у файл functions.php
вашої теми або у плагін:
function create_custom_post_type() {
register_post_type('portfolio', array(
'labels' => array(
'name' => 'Портфоліо',
'singular_name' => 'Проєкт',
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'portfolio'),
'supports' => array('title', 'editor', 'thumbnail'),
'show_in_rest' => true, // для Gutenberg і REST API
));
}
add_action('init', 'create_custom_post_type');
Це створить нову секцію «Портфоліо» в адмін-панелі з підтримкою заголовку, контенту і зображення.
2. Реєстрація кастомної таксономії
Таксономія — це категоризація, подібна до «Категорій» або «Міток». Щоб створити власну, наприклад «Тип проєкту», додайте:
function create_custom_taxonomy() {
register_taxonomy('project_type', 'portfolio', array(
'labels' => array(
'name' => 'Типи проєктів',
'singular_name' => 'Тип проєкту',
),
'public' => true,
'hierarchical' => true, // true = як категорії, false = як мітки
'rewrite' => array('slug' => 'project-type'),
'show_in_rest' => true,
));
}
add_action('init', 'create_custom_taxonomy');
Тепер у розділі «Портфоліо» з’явиться новий фільтр «Тип проєкту».
3. Виведення на сайті
Створіть шаблон archive-portfolio.php
або використовуйте WP_Query
у будь-якому місці теми:
<?php
$args = array('post_type' => 'portfolio');
$query = new WP_Query($args);
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php endwhile;
endif;
wp_reset_postdata();
?>
4. Поради та практика
- Додайте
menu_icon
уregister_post_type()
, щоб задати свою іконку. - Для кастомних таксономій зручно створити шаблон
taxonomy-project_type.php
. - Використовуйте плагіни CPT UI або Meta Box для візуального керування.
Висновок
Кастомні типи записів і таксономії — обов’язковий інструмент для розробника, який хоче створювати структуровані, масштабовані сайти на WordPress. З їх допомогою ви можете реалізувати будь-яку контентну модель, не виходячи за межі стандартної архітектури WP.