Как да създадем Custom Post Types в WordPress
WordPress е изключително гъвкава платформа, която позволява лесното създаване на персонализирани типове публикации (Custom Post Types), различни от стандартните публикации и страници. Това е чудесен начин да разширите функционалността на вашия уебсайт и да го адаптирате според специфичните нужди на бизнеса или проекта ви. В тази статия ще разгледаме как да създадете персонализиран тип публикация стъпка по стъпка и ще обсъдим най-добрите практики за работа с тях.
Какво представляват Custom Post Types?

По подразбиране WordPress идва с няколко основни типа съдържание: публикации (posts), страници (pages), прикачени файлове (attachments) и други. Персонализираните типове публикации ви позволяват да създадете уникални формати на съдържание, които не се вписват в стандартните типове публикации.
Например, ако правите изработка на уебсайт за недвижими имоти, можете да създадете персонализиран тип публикация за имоти. Така ще имате отделна структура за този вид съдържание, включително полета като адрес, цена, площ и т.н.
Кога да използвате Custom Post Types?
Използването на персонализирани типове публикации е идеално в ситуации, когато имате специфично съдържание, което не се вписва в стандартната структура на публикации или страници. Някои често срещани примери включват:
- Портфолио: за представяне на вашите проекти.
- Ревюта на продукти: за добавяне на специални полета за оценка и описание.
- Събития: за управление на информация за предстоящи събития.
- Рецепти: за структурирането на съставки и инструкции.
Създаване на Custom Post Type чрез код
За да създадете персонализиран тип публикация, можете да използвате функцията register_post_type()
. Това е основният метод, който ще ви позволи да дефинирате нов тип публикация и неговите характеристики.
Стъпка 1: Добавяне на код в темата или плъгина
Първата стъпка е да добавите код в темата или плъгина си. Препоръчително е да добавите този код в functions.php
на вашата тема или в отделен плъгин, за да не загубите функционалността при смяна на темата.
function my_custom_post_type() {
$labels = array(
'name' => 'Проекти',
'singular_name' => 'Проект',
'menu_name' => 'Проекти',
'name_admin_bar' => 'Проект',
'add_new' => 'Добави нов',
'add_new_item' => 'Добави нов проект',
'new_item' => 'Нов проект',
'edit_item' => 'Редактирай проект',
'view_item' => 'Прегледай проект',
'all_items' => 'Всички проекти',
'search_items' => 'Търси проекти',
'not_found' => 'Няма намерени проекти',
'not_found_in_trash' => 'Няма намерени проекти в кошчето'
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'projects'),
'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'comments'),
'show_in_rest' => true,
);
register_post_type('project', $args);
}
add_action('init', 'my_custom_post_type');
Стъпка 2: Описание на основните параметри
- labels: Това е масивът от текстове, които ще се показват в администраторския панел за новия тип публикация. Тези текстове определят как ще изглежда интерфейсът за управление на новите публикации.
- public: Ако стойността е
true
, типът публикация ще бъде достъпен и видим за посетителите на сайта. - has_archive: Определя дали типът публикация ще има архивна страница.
- rewrite: Можете да дефинирате собствен URL формат за новия тип публикация.
- supports: Тук можете да посочите кои стандартни функционалности на WordPress ще бъдат активни за новия тип публикация – заглавие, съдържание, миниатюри и др.
Стъпка 3: Регистриране на тип публикация
Функцията register_post_type()
регистрира новия тип публикация в системата на WordPress. В този случай създаваме тип публикация, наречен „Проект“, който ще бъде използван за представяне на проекти в портфолиото.
Създаване на Custom Post Type с плъгин
Ако не искате да пишете код, можете да използвате плъгин за създаване на персонализирани типове публикации. Един от най-популярните плъгини за тази цел е Custom Post Type UI. Ето как можете да го използвате:
Стъпка 1: Инсталация на плъгина
Отворете администраторския панел на WordPress, отидете в секцията „Плъгини“ и натиснете „Добави нов“. Потърсете плъгина Custom Post Type UI и го инсталирайте.
Стъпка 2: Настройки на новия тип публикация
След инсталацията на плъгина, ще видите ново меню „CPT UI“. Оттук можете да създадете нов персонализиран тип публикация, като попълните полетата за име, етикети и други опции, подобно на ръчното създаване чрез код.
Подобряване на Custom Post Types с таксономии
За да направите вашите персонализирани типове публикации още по-гъвкави, можете да добавите таксономии. Таксономиите в WordPress ви позволяват да организирате и категоризирате съдържанието. Например, за тип публикация „Проекти“, можете да създадете таксономии като „Тип проект“ или „Година“.
Създаване на таксономии чрез код
Можете да добавите следния код към съществуващата функция:
function my_custom_taxonomy() {
$labels = array(
'name' => 'Категории проекти',
'singular_name' => 'Категория проект',
'search_items' => 'Търси категории',
'all_items' => 'Всички категории',
'edit_item' => 'Редактирай категория',
'update_item' => 'Актуализирай категория',
'add_new_item' => 'Добави нова категория',
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_in_rest' => true,
);
register_taxonomy('project_category', array('project'), $args);
}
add_action('init', 'my_custom_taxonomy');
Този код регистрира нова таксономия „Категории проекти“, която може да бъде приложена към персонализирания тип публикация „Проект“.
Заключение
Custom Post Types са мощен инструмент, който ви дава възможност да персонализирате WordPress според вашите нужди. Независимо дали създавате нов тип публикация чрез код или използвате плъгин като Custom Post Type UI, този процес е лесен и гъвкав. Спазвайки най-добрите практики за създаване на типове публикации и таксономии, можете да структурирате съдържанието на вашия сайт по начин, който е логичен и удобен за вашите посетители.